porfa una consulta
tengo el sgte problema este script funciona bien es para ver
si el contenido es solonumero pero si ingreso dos veces lo mismo me
deja pasar normal si otar el mensaje
si alguien sabe lo que pasa ayudenme porfa
function valnumber(name)
{ var ok = "yes";
var temp;
var valid = "0123456789";
var field = document.all(name);
for (var i=0; i<field.value.length; i++)
{ temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no")
{ alert("El campo solo debe contener números!");
field.value="";
field.focus();
field.select();
}
}
y lo llamos asi
<input name="txtPuesto22" type="text"id="txtPuesto222" maxlength="2" width="50%" value ="" onChange="valnumber('txtPuesto22')"></th>
si el contenido es solonumero pero si ingreso dos veces lo mismo me
deja pasar normal si otar el mensaje
si alguien sabe lo que pasa ayudenme porfa
function valnumber(name)
{ var ok = "yes";
var temp;
var valid = "0123456789";
var field = document.all(name);
for (var i=0; i<field.value.length; i++)
{ temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no")
{ alert("El campo solo debe contener números!");
field.value="";
field.focus();
field.select();
}
}
y lo llamos asi
<input name="txtPuesto22" type="text"id="txtPuesto222" maxlength="2" width="50%" value ="" onChange="valnumber('txtPuesto22')"></th>
No entiendo bien porque cuando lo introduces dos veces falla. Prueba a inicializar temp a ver si asi funciona:temp='';
A ver si asi funciona
Un saludo,Dani
A ver si asi funciona
Un saludo,Dani
Yo dirÃa que es porque el script se ejecuta con la condición onChange, por lo que si das dos con el mismo número, el script no se ejecutara.
gracias por la ayuda pero me pueden decir como lo tengo que llamar.gracias
Otra cosa que me olvidaba, al final de tu función, si es que la condicion no se cumple (o sea en el if(ok=="no")) tienes que retornar false:
return (false);
antes de salir del if, esto para que no permita que el action se haga efectivo.
Saludos, Raul
return (false);
antes de salir del if, esto para que no permita que el action se haga efectivo.
Saludos, Raul
Nando, puedes usar la opcion:
onsubmit="return valnumber(txtPuesto22)"
en lugar de onChange, esta opcion verificará el formulario cada vez que se quiera ejecutar el form action, pero te aconsejo que la ubiques al lado de tu form asi:
<form name="form1" method="post" action="paginaDestino.php" onsubmit="return valnumber(txtPuesto22)">
No se si eso solucionará tu problema, pues no entiendo si el problema es que tu funcion solo verifica el campo la primera vez y las otras veces ya no lo hace, si es asi este cambio que te digo te puede solucionar el problema.
Suerte y saludos, Raul
onsubmit="return valnumber(txtPuesto22)"
en lugar de onChange, esta opcion verificará el formulario cada vez que se quiera ejecutar el form action, pero te aconsejo que la ubiques al lado de tu form asi:
<form name="form1" method="post" action="paginaDestino.php" onsubmit="return valnumber(txtPuesto22)">
No se si eso solucionará tu problema, pues no entiendo si el problema es que tu funcion solo verifica el campo la primera vez y las otras veces ya no lo hace, si es asi este cambio que te digo te puede solucionar el problema.
Suerte y saludos, Raul