Hace años que no toco javascript ni php y necesito algo pequeño y me falta validar mi form.
Quiero que si tiene menos de 8 caracteres diga "error,menor a 8"
Si esta en blanco diga "Ingrese su codigo"
Que solo acepte numeros
Tampoco recuerdo como hacer para que no vaya a insertar_datos.php cuando salgan los errores, espero su ayuda.
<html>
<head></head>
<body>
<script language="javascript" type="text/javascript">
function valida_envia(){
//valido el nombre
if (document.form1.titulo.value.length==0){
alert("Tiene que escribir su codigo")
document.form1.titulo.focus()
return 0;
}
}
</script>
<form name="form1" action="insertar_datos.php">
codigo:<br><input type="text" name="titulo" maxlength="8"><br>
<input type="submit" value="Enviar" onclick="valida_envia()">
</form>
</body>
</html>
Usa expresiones regulares
Saber si es numero o no con javascript
Para saber si un valor es numero o no utilizamos la función isNaN(numero), si no es número devolverá True y si es número devolverá False.
Un ejemplo sería:
isNaN(123) devolverá False
isNaN("prueba") devolverá True
Haber si un experto en javascript me ayuda con el codigo, por otro lado intentare probar lo que dicen los user que respondieron, saludos
<script language="javascript" type="text/javascript">
function valida_envia(){
//valido el nombre
var FiltroRx = /[0-9]{8}/;
if (document.form1.titulo.value.length < 1)
{
alert('Debe escribir su codigo')
return false
}
else if (!FiltroRx.test(document.form1.titulo.value))
{
alert('error,menor a 8. (Solo se aceptan numeros)')
return false
}
else
{
document.form1.submit()
return true
}
}
</script>
<input type="button" value="Enviar" onclick="valida_envia()">
Espero que te sirva.
Saludos
Ahora el problema es que siempre envia en form aunque salgan los alert's, haber si alguien me ayuda, dejo el codigo completo, creo es un error en los eventos del form
<html>
<head></head>
<body>
<script language="javascript" type="text/javascript">
function valida_envia(){
var FiltroRx = /[0-9]{8}/;
if (document.form1.titulo.value.length==0){
alert("Ingrese su codigo");
return false;
}
else if (!FiltroRx.test(document.form1.titulo.value)){
alert('error,solo se aceptar 8 digitos')
return false;
}
else {
return true;
}
}
//Este Codigo permite Validar que sea un campo Numerico
function Solo_Numerico(variable){
Numer=parseInt(variable);
if (isNaN(Numer)){
return "";
}
return Numer;
}
function ValNumero(Control){
Control.value=Solo_Numerico(Control.value);
}
//fin de function Solo_Numerico
</script>
<form name="form1" action="insertar_datos.php" onSubmit="valida_envia(this)">
codigo:
<input type="text" name="titulo" maxlength="8" onkeyUp="return ValNumero(this);">
<input type="submit" value="Enviar">
</form>
</body>
</html>
Hi!!..
Aummmm en vez de poner el <input type="submit"> pon un <imput type="buttom" onClick(valida_envia()())>
Ahora en la funcion valida_envia() cuando todo este correcto y no t salga ningun alert procedes a enviar el formulario con document.form1.submit() y ya :D...