Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/11/2009, 12:51
benjaminvera
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Validación de campos numéricos POSITIVOS y con 3 decimales...

Entonces tengo 3 tipos de opciones....

1.- Que es meter el número de Ganancia que se tuvo al mes.... El campo solo acepta números..... y con una cifra NO mayor a los 9 dígitos enteros y 3 decimales.... Debe de aceptar una cadena vacía ya que yo lo he definido en mi base de datos como valores float default=-0.001; Por lo que aquí tengo que reemplazar la cadena vacía por la palabra "default".

Ejemplo:
<script type="text/javascript">
function numberblog(e){
var f=function(){this.value=this.value.replace(/\d{1,2}(\.\d{1,3})?$/,'')};
//var f=function(){this.value=this.value.replace(/\D/,'')};
num.toFixed(3)
e.onkeyup=f
e.onkeydown=f
e.onkeypress=f
e.onmousedown=f
e.onmouseup=f
e.onclick=f
e.onchange=f
e.onblur=f
}

function validaNum(n,mini,maxi)
{
n = parseInt(n)
if ( n<mini || n>maxi ) alert("El valor debe ser entre 0 - 100");
}

</script>

<TR>
<TD><input type="hidden" name="Det_2" value="<?php echo "27" ?>" id="Casilla_1">Costo de Producción por Unidad de Salida</TD>
<TD><INPUT type=text name="cosProduxUniSal_f" size="4" value="default">&nbsp;Pesos<b>/</b>Unidad Vol.</TD>
</TR>
<TR>
<script type="text/javascript">numberblog(document.getElementById("Ca silla_1"))</script>
</TR>


-------------------------------------------------------------------------------------------

2.- Meter porcentajes de las máquinas que están disponibles o las fallas que tuvieron.... los porcentajes van de 0 - 100 % y aquí se aceptan 2 decimales....
Debe de aceptar una cadena vacía ya que yo lo he definido en mi base de datos como valores float default=-0.001; Por lo que aquí tengo que reemplazar la cadena vacía por la palabra "default".

<tr>
<td>Casilla 2 (Porcentajes): </td>
<td><input type="text" name="numero2" size="3" id="Casilla_2" maxlength="3" onChange="validaNum(this.value,0,100)">
&nbsp;&nbsp;&nbsp;&nbsp;Solo valores positivos entre 0 y 100.</td>
</tr>
<script type="text/javascript">numberblog(document.getElementById("Ca silla_2"))</script>

-----------------------------------------------------------------------------------------------

3.- Meter números enteros de 0 - 99999. éste ya lo tengo.... ya que no implica decimales.... Debe de aceptar una cadena vacía ya que yo lo he definido en mi base de datos como valores float default=-0.001; Por lo que aquí tengo que reemplazar la cadena vacía por la palabra "default".

<tr><td>Casilla 3 (Semanas): </td>
<td><input type="text" name="numero3" size="3" id="Casilla_3" maxlength="6">
&nbsp;&nbsp;&nbsp;&nbsp;Solo valores positivos y solo se permiten 6 cifras. Num. Max. = 999999</td></tr>
<script type="text/javascript">numberblog(document.getElementById("Ca silla_3"))</script>

--------------------------------------------------------------------------------------------------

En este último paso es cuando yo debo de hacer el script completo para la validación de cada campo antes de pasarle los valores al servidor PHP y que los introduzca en la Base de Datos MySQL....

<tr>
<td colspan="2" align="center"><input type="button" value="Enviar" onclick="valida_envia()"></td>
</tr>

Espero me haya podido explicar lo mejor posible.....

Por su atención, una vez mas MIL GRACIAS.....