Validar campo para que soloa acepte numeros con javascript

Iniciado por hunter18, 5 Octubre 2010, 03:05 AM

0 Miembros y 1 Visitante están viendo este tema.

hunter18

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>

~ Yoya ~

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

bomba1990

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:

Código (javascript) [Seleccionar]


isNaN(123) devolverá False

isNaN("prueba") devolverá True
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve

hunter18

Haber si un experto en javascript me ayuda con el codigo, por otro lado intentare probar lo que dicen los user que respondieron, saludos

#!drvy

#4
Código (javascript) [Seleccionar]
<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>


Código (html4strict) [Seleccionar]
<input type="button" value="Enviar" onclick="valida_envia()">

Espero que te sirva.

Saludos

hunter18

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>

ZeroVzla

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...