Foros del Web » Programando para Internet » Javascript »

Aprendiz, Validacion Simple De Formulario, Me Falta Algo!

Estas en el tema de Aprendiz, Validacion Simple De Formulario, Me Falta Algo! en el foro de Javascript en Foros del Web. Bueno, les escribo porque me gustaria que me ayudaran a resolver una incognita jeje de momento estoy aprendiendo php pero en la escuela me dejaron ...
  #1 (permalink)  
Antiguo 27/05/2009, 18:28
Avatar de heyimedd  
Fecha de Ingreso: enero-2009
Ubicación: Monterrey
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Aprendiz, Validacion Simple De Formulario, Me Falta Algo!

Bueno, les escribo porque me gustaria que me ayudaran a resolver una incognita jeje de momento estoy aprendiendo php pero en la escuela me dejaron hacer un form con validacion javascript, hasta el momento ya encontre ayude por ahi de como hacerlo, pero el mail solo comprueba que este escrito como un campo mas, no comprueba si es email o una cadena de texto simple, ademas, no se como se validan los check box, por ejemplo, para escoger al menos uno de todos los que se pongan y ya por otro lado al finalizar debe de decir gracias "nombre" por contestar la informacion, se que se puede hacer con un alert, pero no se como jeje ojala me puedan echar una manita.

les dejo el codigo que llevo hasta el momento:


Javascript

Código:
<script>

function validarEntero(valor){ 
         valor = parseInt(valor) 

      //Comprobacion del valor numerico 
      if (isNaN(valor)) { 
            //Valor NO numerico 
            return "" 
      }else{ 
            //En caso de ser numerico, lo asigno nada mas 
            return valor 
      } 
} 

function valida_envia(){
	//validando el nombre
	if (document.fvalida.nombre.value.length==0){
		alert("Tiene que escribir su nombre")
		document.fvalida.nombre.focus()
		return 0;
	}
	
	//validando la edad.
	edad = document.fvalida.edad.value
	edad = validarEntero(edad)
	document.fvalida.edad.value=edad
	if (edad==""){
		alert("Tiene que introducir un número entero en su edad.")
		document.fvalida.edad.focus()
		return 0;
	}
	
	//valido el hobbie
	if (document.fvalida.hobbie.selectedIndex==0){
		alert("Debe seleccionar al menos un hobbie.")
		document.fvalida.hobbie.focus()
		return 0;
	}
	
	//el formulario se envia
	
	alert("Muchas gracias por enviar el formulario");
	document.fvalida.submit();
}
</script>

Formulario:

Código:
<form name="fvalida">
<table>
<tr>

	<td>Nombre: </td>
	<td><input type="text" name="nombre" size="30" maxlength="100"/></td>
</tr>
<tr>
	<td>Email: </td>
	<td><input type="text" name="email" size="30" maxlength="20"/></td>
</tr>

<tr>
	<td>Edad: </td>
	<td><input type="text" name="edad" size="3" maxlength="2"/></td>
</tr>

<tr>
	<td>Hobbie:</td>

	<td>
	<select name="hobbie">
	<option value="Elegir">Elegir
	<option value="Internet">Internet
	<option value="Deporte">Deporte
	<option value="Lectura">Lectura
	</select>
	</td>
</tr>
<tr>
	<td colspan="2" align="center"><input type="button" value="Enviar" onclick="valida_envia()"/></td>
</tr>

</table>

</form>
  #2 (permalink)  
Antiguo 27/05/2009, 23:26
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Aprendiz, Validacion Simple De Formulario, Me Falta Algo!

Hola:

Si no usas un botón del tipo submit, tu formulario es inaccesible... con pocos retoques podrías mejorarlo. Tal vez te sirva este artículo: El abc de los formularios.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 28/05/2009, 01:28
Avatar de Corneja  
Fecha de Ingreso: febrero-2008
Ubicación: Senolaf
Mensajes: 268
Antigüedad: 16 años, 2 meses
Puntos: 8
Respuesta: Aprendiz, Validacion Simple De Formulario, Me Falta Algo!

El código no es mío y no dispongo de los datos del autor para citarlo, pero seguro que te sirve

Código:
function esCorreoValido(Cadena) {   
    var Punto = Cadena.substring(Cadena.lastIndexOf('.') + 1, Cadena.length)            // Cadena del .com   
    var Dominio = Cadena.substring(Cadena.lastIndexOf('@') + 1, Cadena.lastIndexOf('.'))    // Dominio @lala.com   
    var Usuario = Cadena.substring(0, Cadena.lastIndexOf('@'))                  // Cadena lalala@   
    var Reserv = "@/º\"\'+*{}\\<>?¿[]áéíóúàèìòùâêîôûäëïöü#·¡!^*;,:"                      // Letras Reservadas   
       
    // Añadida por El Codigo para poder emitir un alert en funcion de si email valido o no   
    var valido = true   
       
    // verifica qie el Usuario no tenga un caracter especial   
    for (var Cont=0; Cont<Usuario.length; Cont++) {   
        var X = Usuario.substring(Cont,Cont+1)   
        if (Reserv.indexOf(X)!=-1)   
                    valido = false   
    }   
  
    // verifica qie el Punto no tenga un caracter especial   
    for (var Cont=0; Cont<Punto.length; Cont++) {   
        var X=Punto.substring(Cont,Cont+1)   
        if (Reserv.indexOf(X)!=-1)   
            valido = false   
    }   
                           
    // verifica qie el Dominio no tenga un caracter especial   
    for (var Cont=0; Cont<Dominio.length; Cont++) {   
        var X=Dominio.substring(Cont,Cont+1)   
        if (Reserv.indexOf(X)!=-1)   
            valido = false   
        }   
  
    // Verifica la sintaxis básica.....   
    if (Punto.length<2 || Dominio <1 || Cadena.lastIndexOf('.')<0 || Cadena.lastIndexOf('@')<0 || Usuario<1) {   
        valido = false   
    }
	
     
    // Añadido por El Código para que emita un alert de aviso indicando si email válido o no   
    if (valido) 
	{   
        return true    //return true para hacer el submit del formulario en caso de validacion correcta   
    } else {   
        alert('correo-e corporativo invalido, por favor introduzca su correo-e corporativo')
        this.document.forms[0].correoe.focus(); 
        return false   //return false para volver al formulario en caso de validacion incorrecta   
    }   
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:00.