• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • Conoce los Días Naranjas de PcComponentes: descuentos de hasta un 40% en tecnología. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

duda validación formulario

Luis_29

Nuevo
Registrado
15 Jun 2015
Mensajes
11
Puntos
0
Edad
37
buenas, me acabo de registrar en el foro, y tengo dudas sobre cómo validar un formulario. Estoy intentando hacerlo con JavaScript. Es cierto que todavía me falta hacer un formulario para que el usuario se pueda registrar a una página, pero acabo de empezar y he empezado por el formulario de inicio de sesión porque es el más corto. Veréis, tengo puesto esto en el head:

<script type="text/javascript">

function validar()
{
var usu=document.getElementById("usuario").value;
var cla=document.getElementById("clave").value;
if (usu.length==0 || cla.length==0)
{
alert('El nombre de usuario o clave está vacío');
return false;
}
else
return true;

}

</script>

poniendo esto, me sale la alerta del error peero (y aquí es donde viene el problema) cuando le doy a aceptar me lleva a la página (cuando no debería ser así hasta que rellene el formulario). Entiendo que algo me falta pero... qué es? alguien me puede echar una mano porfa?
 
sin entrar en codigo y demas....no tendras que asociar al pulsar Aceptar el valor de ese retorno? de manera que Aceptar + false = muestre formulario, y Aceptar + true = ir a la pagina? Luis_29
 
pero... eso como se pone en el código?
 
esque creo que es diciendole que si no rellena los datos del formulario, o no están escritos correctamente que no le lleve a la página, y que solo le lleve a la página en caso de haber rellenado los datos correctamente pero... a la hora de programar, qué tengo que poner en el código para que haga esto que quiero?
 
En javascript no se como va,pero si al pulsar aceptar has de comprobar si los datos están escritos, si no lo están, que vuelva al formulario, si están que compare los datos con los que tengas almacenados si coinciden entra en la web sino que vuelva al formulario. Pero eso lo haces con condicionales y asociando al botón aceptar a una acción que te valide lo anterior.

Desde mi Iphone 6 mega xaxi...
 
Luis_29 :
si el codigo de validacion esta en un link (etiqueta a href...) o un boton submit tienes que poner:
onclick="return validar()"

si es en un boton normal, deberias saltar a la pagina que te interesa desde el mismo validate()
 
Cuando este en el ordenador te ayudo. Es mas fácil de lo que parecw

Enviado desde mi XT1021 mediante Tapatalk
 
A ver.

Tienes dos opciones.

La primera es pasar la función como un oyente de eventos y evitar que se ejecute la acción del form (aquí se explica muy bien de que va) http://www.w3schools.com/jsref/met_document_addeventlistener.asp

La segunda, es comprobar cuando se quite el focus de los campos.

De todas formas, pon el código completo, que solo con el js no se muy bien que decirte.
 
A ver.

Tienes dos opciones.

La primera es pasar la función como un oyente de eventos y evitar que se ejecute la acción del form (aquí se explica muy bien de que va) http://www.w3schools.com/jsref/met_document_addeventlistener.asp

La segunda, es comprobar cuando se quite el focus de los campos.

De todas formas, pon el código completo, que solo con el js no se muy bien que decirte.

mira, esto tengo puesto en el head:

<script type="text/javascript">

function validar()
{
var usu=document.getElementById("usuario").value;
var cla=document.getElementById("clave").value;
if (usu.length==0 || cla.length==0)
{
alert('El nombre de usuario o clave está vacío');
return false;
}
else
return true;

}

</script>

y esto en el body:

<form method="post" action="calendario.html" onsubmit="validar();" >
Ingrese nombre:
<input align="right" type="text" id="usuario" name="usuario" size="20">
<br>
Ingrese clave:
<input align="right" type="password" id="clave" name="clave" size="20">
<br>
<input align="right" type="submit" id="entrar" name="entrar" value="Entrar">
</form>
 
Quita el alert, y prueba a meter el texto ese en el de usuario, por ejemplo. Esto es ir probando :)
 
Quita el alert, y prueba a meter el texto ese en el de usuario, por ejemplo. Esto es ir probando :)[/QUOTE

oki y el texto este cómo lo introduzco en usuario? ponme un ejemplo para que me quede más claro porfa
 
document.getElementById('usuario').innerHTML="texto que quieras poner"

Enviado desde mi XT1021 mediante Tapatalk
 
document.getElementById('usuario').innerHTML="texto que quieras poner"

Enviado desde mi XT1021 mediante Tapatalk

no funciona, porque no me sale el error si no pongo los datos
 
Luis_29 :
si el codigo de validacion esta en un link (etiqueta a href...) o un boton submit tienes que poner:
onclick="return validar()"

si es en un boton normal, deberias saltar a la pagina que te interesa desde el mismo validate()

gracias!! me funcionó!!!
 
ahora tengo una pregunta, entiendo que ahora tengo que indicar todos los carácteres permitidos para que por ejemplo en usuario no me deje poner carácteres como "&" por ejemplo o que en contraseña no me permita poner carácteres como por ejemplo "_" no? esto se puede hacer con javascript? o necesito php sí o sí? si esto se pudiese hacer con javascript cómo se haría? y si no se pudiera y tuviera que usar php cómo se haría?
 
expresiones regulares.

var expreg = /^[a-Z]{6-15}$/;

if(expreg.test(document.getElementById('pass'))



Este código pide solo eltras mayúsculas o minúsculas entre 6 y 15 caracteres.
 
expresiones regulares.

var expreg = /^[a-Z]{6-15}$/;

if(expreg.test(document.getElementById('pass'))



Este código pide solo eltras mayúsculas o minúsculas entre 6 y 15 caracteres.

oki, y para que funcione sería ponerlo así?

var expreg = /^[a-Z]{6-15}$/;

if(expreg.test(document.getElementById('clave'))
return true;
}
else
return false;
 
oki, y para que funcione sería ponerlo así?

var expreg = /^[a-Z]{6-15}$/;

if(expreg.test(document.getElementById('clave'))
return true;
}
else
return false;
Exacto, pero la variable expreg con el contenido que sea. Las expresiones regulares tienen chicha.

Enviado desde mi XT1021 mediante Tapatalk
 
Exacto, pero la variable expreg con el contenido que sea. Las expresiones regulares tienen chicha.

Enviado desde mi XT1021 mediante Tapatalk

no hay forma de que me salga
 
y con php como se haría? esque según he leído por ahí se puede hacer con php y con java.
 
Arriba