Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/04/2010, 10:35
yosoloyo
 
Fecha de Ingreso: mayo-2008
Mensajes: 156
Antigüedad: 16 años, 9 meses
Puntos: 0
Problema con input type=submit

Buenas de nuevo

Pues me ha surgido un problema que no se si es solucionable

Por un lado tengo este formulario:

Código HTML:
Ver original
  1. <form action="registro2.php" method="post" name="form" id="form">
  2.    <p>Usuario<input type="text" maxlength = "20" size="25" name="usuario"></p>
  3.         <p>Password</label><br /><input type="password" maxlength = "20" size="25" name="contrasena"></p>
  4.  
  5.         <p><center><br>
  6.                         <input type="reset" name="limpiar" value="Borrar Datos">
  7.                         <input type="button" name="enviar" value="Paso 2 >>" onClick="javascript:verifica()"></center></p>
  8.              </form>

Como veis el boton enviar llamar a una función que comprueba que usuario y contraseña no esten en blanco, por lo que tengo que poner input type="button" para que se pare en la página en caso de error

Si pongo button, al pasar el name="enviar" por $_POST, no me la reconoce, pero si pongo type='submit', si me la reconoce (lo de $_POST['enviar'], pero en la funcion de verifica(), en caso de que haya algun input type vacío, no se para en la página, sino que da el posible error pero redirecciona a registro2.php

Espero haberme explicado bien y haber si hay alguna solución para esto, ya que o una de dos en registro2.php no puedo usar el if(isset($_POST['enviar'])) para comprobar que existe "enviar" o por el contrario no puedo verificar en registro.php cn mi funcion verifica si pongo submit en vez de button en el input.

Gracias


PD: Edito con lo siguiente:
pongo la funcion por si hiciera falta también:

Código Javascript:
Ver original
  1. function verifica(){
  2.     if(document.form.usuario.value.length < 6)
  3.     {
  4.         alert("Debe ingresar un nombre de Usuario de al menos 6 caracteres");
  5.          document.form.usuario.focus();
  6.         return 0; //devolvemos un cero para dejar de validar
  7.     }
  8.     if(document.form.contrasena.value.length < 6)
  9.    {
  10.         alert("Debe ingresar una contraseña de al menos 6 caracteres");
  11.         document.form.contrasena.focus();
  12.         return 0; //devolvemos un cero para dejar de validar
  13.     }
  14.     else{ //sino enviamos el formulario
  15.         document.form.submit(); //enviamos formulario    
  16.     }
  17. }


la cuestion como ya dije es que si pongo input type="button" no reconoce
if(isset($_POST['enviar']))
........

y si pongo input type="submit" me lo envia si o si aunque haya fallos


gracias!

pd: vuelvo a editar con lo siguiente:

Por favor alguien??

He probado hoy también esto que encontré en este enlace: http://www.forosdelweb.com/f13/problema-con-type-submit-javascript-665301/

Código HTML:
Ver original
  1. <form action="registro2.php" onsubmit="return verifica(this)" method="post" name="form" id="form">


pero tampoco para el formulario en caso de tener casillas vacias