He creado un formulario con 4 campos uno tipo text otro contraseña, email y un selct el caso es que tengo liada una en el form que ni yo me aclaro y al intentar validar el formulario tengo algunos problemas uno de ellos que cuando me sale el mensaje de alerta de validación del primer campo y le doy a aceptar este se me va a la pagina siguiente como si el form estuviese ya rellenado en vez de mantenerse paar seguir verificando los campos.
bueno el caso es que el java script de validación necesita 1000 arreglos para mejorarlo, pero creo que una de las causas es que para enviar los datos utilizo una pequeña funcion y creo que se debe pelear con la misma de validar, deduzco vaya no soy experta.
dejo el código para ver si alguien me puede guiar un poco gracias
cod form:
Código HTML:
Ver original
<link href="estiloportada.css" rel="stylesheet" type="text/css" /> <!--este script para hacer la llamada para colocar imagen en el select--> <link href="select.css" rel="stylesheet" type="text/css" /> <!--este script me comprueba que el campo tienda no se repita --> <!--este script para hacer la llamada para validar campos de formulario1--> <!--este script muestra las capas flotantes de los mensajes ocultos--> <script language="javascript" type="text/javascript"> opac=0 goIn=null function fade(dir, id){ if(document.all){document.all(id).filters.alpha.Opacity=opac} if(document.getElementById && !document.all){document.getElementById(id).style.MozOpacity=(opac/100)-0.01} if(document.getElementById && !document.all){document.getElementById(id).style.KHTMLOpacity=(opac/100)-0.01} if(document.getElementById && !document.all){document.getElementById(id).style.opacity=(opac/100)-0.01} if(dir==1 && opac<=100){opac=opac+2} else{clearTimeout(goIn)} if(dir==0 && opac>=0){opac=opac-2} else{clearTimeout(goIn)} goIn=setTimeout("fade('" + dir + "', '" + id + "')", 0) } </script> <!--aqui este codigo para hacer una funcion de el boton de enviar del formulario para poder poner una imagen de sustitucion--> <SCRIPT language="Javascript"> function enviar() { document.form1.submit(); } </SCRIPT> <!--ocultar y mostrar una capa al clicar un boton --> <script language="Javascript"> function mostrar(nombreCapa){ document.getElementById(nombreCapa).style.visibility="visible"; } function ocultar(nombreCapa){ document.getElementById(nombreCapa).style.visibility="hidden"; } </script> <form action="datoscliente.php" method="post" name="form1" id="form1"> <fieldset id="form"> <table width="248" align="center"> <tr valign="baseline"> <td colspan="2" align="left" nowrap="nowrap"> </td> </tr> <tr valign="baseline"> <td height="35" colspan="2" align="right" nowrap="nowrap"> <div id="muestra" onclick="fade(1, 'fadimg')" onblur="fade(0, 'fadimg')"> <input class="texto" type="text" name="tienda" value="" size="32" onblur="busca(this.form.tienda.value)" /> </div> <!--este div muestra la vinyeta del primer campo de formulario--> </tr> <tr valign="baseline"> </tr> <tr valign="baseline"> <td colspan="2" align="right" nowrap="nowrap"> <!--este div muestra la vinyeta del segundo campo de formulario--> </tr> <tr valign="baseline"> </tr> <tr valign="baseline"> </tr> <tr valign="baseline"> </tr> <tr valign="baseline"> </tr> <tr valign="baseline"> <a href= "javascript:enviar()" onclick="valida_envia()" onmouseOver="document.enviar.src='imagenes/botonform1.png';" onmouseOut="document.enviar.src='imagenes/botonform.png';"> <img src="imagenes/botonform.png" name="enviar" width="205"border="0"> </a> </td> </tr> </table> </fieldset> </form>
bueno y la pag validarformindex.js para validar los campos
Código Javascript:
Ver original
function valida_envia(){ //valido el nombre if (document.form1.tienda.value.length==0){ alert("Tiene que escribir el nombre de su tienda") document.form1.tienda.focus() return false; } //valido email if(document.form1.email.value.length==0) { //comprueba que no esté vacío alert('No has escrito tu e-Mail'); document.form1.email.focus(); return false; } //valido tipo de tienda if (document.form1.tipo_de_tienda.selectedIndex==0){ alert("Debe seleccionar un tipo de tienda.") document.form1.tipo_de_tienda.focus() return false; } //el formulario se envia alert("Muchas gracias por enviar el formulario"); document.form1.submit(); }
me faltaría validar la contraseña pero en principio solo me valida tienda y email y de esa manera por que solo comprueba si están vacíos los campos
no se si alguien puede ayudarme un poco gracias