Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] como puedo crear un formulario que al colocar nombre en la casilla si coloco algo

Estas en el tema de como puedo crear un formulario que al colocar nombre en la casilla si coloco algo en el foro de Javascript en Foros del Web. Necesito hacer como practica, un formulario al estilo hotmail que cuando ingrese el nombre en la textarea, si coloco un numero o caracter no valido ...
  #1 (permalink)  
Antiguo 06/04/2013, 21:26
 
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años
Puntos: 0
como puedo crear un formulario que al colocar nombre en la casilla si coloco algo

Necesito hacer como practica, un formulario al estilo hotmail que cuando ingrese el nombre en la textarea, si coloco un numero o caracter no valido salga un mensaje que diga que no es permitido o algo por estilo...

el mensaje no debe ser con alert
  #2 (permalink)  
Antiguo 06/04/2013, 23:08
Avatar de ggomez91  
Fecha de Ingreso: octubre-2008
Mensajes: 181
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: como puedo crear un formulario que al colocar nombre en la casilla si colo

puedes tener un input para meter el nombre y ligarlo a una funcion que valide su contenido y muestre el mensaje. Ponlo en el evento onchange para que lo revise cuando el usuario cambie el contenido. Para validar que los caracteres sean correctos usa una expresión regular, el código sería algo así:

Código:
// en tu js
function validar(){
    // obtener lo que el usuario puso
    var username = document.getElementById('username').value;
   // ver si es valido con la expresion regular
   var expresion = /([A-z]|[0-9])+$/;
    if (expresion.test(username)){ // si es valida
        // mostrar el error
       document.getElementById("errorSpan").style.display = "inline";
    }
}


// tu html
<input onchange="validar()" id="username"></input>
<!-- este span tiene el error pero no se muestra por defecto -->
<span id="errorSpan" style="display:none" id="error">Caracteres inválidos</span>
La expresión que puse incluye a todas las palabras que tengan letras y números, habría que ajustarla para tus necesidades.
  #3 (permalink)  
Antiguo 07/04/2013, 07:46
 
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años
Puntos: 0
Respuesta: como puedo crear un formulario que al colocar nombre en la casilla si colo

Hasta ahora este es mi código.... como puedes ver necesito que al colocar un numero en la casilla nombre salga el mensaje de error o algo asi, y como dije no debe ser un alert...

codigo:
Código HTML:
Ver original
  1.     <head>
  2.         <title>FORMULARIO</title>
  3.     <script>
  4.     //Permite solo texto
  5.     function solotexto() {
  6.      if ((event.keyCode != 32) && (event.keyCode < 65) || (event.keyCode > 90) && (event.keyCode < 97) || (event.keyCode > 122))
  7.        
  8.         event.returnValue = false;
  9.     }
  10.     //Función que permite solo Números
  11.     function solonumeros() {
  12.      if ((event.keyCode < 48) || (event.keyCode > 57))
  13.         event.returnValue = false;
  14.     }
  15.     </script>
  16.     <head>
  17.     <body bgcolor='ADD8E6' >
  18.     <table width='80%' align='center'>
  19.     <form name='form' action='' method='post'>
  20.         <tr>
  21.             <td><font size='3'>Nombre:</font></td>
  22.         </tr>
  23.         <tr>
  24.             <td><input id='nombre' name='nombre' onkeypress='solotexto()' type='text' size='30'></td>
  25.         </tr>
  26.         <tr>
  27.             <td><font size='3'>Apellido:</font></td>
  28.         </tr>
  29.         <tr>
  30.             <td><input id='apellido' name='apellido' onkeypress='solotexto()' type='text' size='30'></td>
  31.         </tr>
  32.         <tr>
  33.             <td><font size='3'> Edad: </font></td>
  34.         </tr>
  35.     </form>
  36.     </table>
  37.     </body>
  38. </html>

Última edición por maximov089; 07/04/2013 a las 09:24
  #4 (permalink)  
Antiguo 07/04/2013, 09:34
Avatar de ggomez91  
Fecha de Ingreso: octubre-2008
Mensajes: 181
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: como puedo crear un formulario que al colocar nombre en la casilla si colo

Hola, ya tienes la función que detecta si se presionó una tecla de letra o número, puedes usar el mismo if para mostrar u ocultar el error. Intenta estas modificaciones y ve lo que hace.

en tu funcion solotexto()
Código:
function solotexto() {
     if ((event.keyCode != 32) && (event.keyCode < 65) || (event.keyCode > 90) && (event.keyCode < 97) || (event.keyCode > 122)){
        document.getElementById("errorSpan").style.display = "inline";
        event.returnValue = false;
		} else{
			document.getElementById("errorSpan").style.display = "none";
		}
	}
Y en tu HTML:
Código:
       <tr>
            <td><input id='nombre' name='nombre' onkeypress='solotexto()' type='text' size='30'></td>
            <span id="errorSpan" style="display:none" id="error">El nombre debe tener solo letras</span>
        </tr>
  #5 (permalink)  
Antiguo 07/04/2013, 10:28
 
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años
Puntos: 0
Respuesta: como puedo crear un formulario que al colocar nombre en la casilla si colo

Genial amigo!!! Muchas gracias!!

Etiquetas: casilla, formulario, nombre
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 10:54.