Foros del Web » Programando para Internet » Javascript »

validar formulario con varios botones

Estas en el tema de validar formulario con varios botones en el foro de Javascript en Foros del Web. Hola: Tengo un problema con un formulario, en el que hay 3 botones, insertar, eliminar y buscar, dependiendo de en cual de ellos se haga ...
  #1 (permalink)  
Antiguo 15/07/2010, 01:30
 
Fecha de Ingreso: julio-2010
Mensajes: 29
Antigüedad: 13 años, 9 meses
Puntos: 3
validar formulario con varios botones

Hola:
Tengo un problema con un formulario, en el que hay 3 botones, insertar, eliminar y buscar, dependiendo de en cual de ellos se haga click, debe hacer validaciones distintas, por ejemplo en insertar debe ver que el campo dni y nombre existan, y en buscar solo es obligatorio el dni.

los botones estan declarados de la siguiente forma:

<input type="submit" name="bt_insertar" id="bt_insertar" value="Insertar" onClick="return validar('insertar');"/>
<input type="submit" name="bt_buscar" id="bt_buscar" value="Buscar" onClick="return validar('buscar');"/>
<input type="submit" name="bt_eliminar" id="bt_eliminar" value="Eliminar" onClick="return validar('eliminar');"/>

y la funcion validar la siguiente, solo tengo echa la validacion de insertar y no me funciona inserta aunque no esten los campos


function validar(boton)
{
var validado = true;
//según sea el botón que se ha pulsado
switch (boton)
{
case "insertar":
if((form1.et_dni="")||(form1.et_nombre="")){
alert("Debe insertar dni y nombre");
validado=false;
break;
}
else
form1.submit="clientes.php";
case "buscar":
form1.submit="buscarclientes.php"
break;
case "eliminar":
form1.submit="eliminarclientes.php"
break;
}
return validado;
}
</script>

La insercion la hace correctamente, pero no me valida el formulario.
Espero que alguien me pueda echar una mano. Creo que el problema debe estar en el onclick de los botones, porque me parece que no entra nunca en la funcion validar.
Gracias
  #2 (permalink)  
Antiguo 15/07/2010, 08:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: validar formulario con varios botones

Hola

A ver que te parece esto

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script  type="text/javascript">  
  4. window.addEventListener('load', funcion, false);
  5.  
  6. function funcion(e) {
  7. var but = document.getElementById('botonera').getElementsByTagName('input');
  8. for (i = 0; i < but.length; i++) {
  9. but[i].addEventListener('click', validar, false);
  10. }
  11. }
  12.  
  13.  
  14. function validar()
  15. {
  16. //según sea el botón que se ha pulsado
  17. switch (this.id)
  18. {
  19. case "bt_insertar":
  20. if(document.getElementById('a').value == '') {
  21. alert('el campo a está vacío');
  22. return false;
  23. }else {
  24. document.frm.submit();
  25. }
  26. break;
  27. case "bt_buscar":
  28. if(document.getElementById('b').value == '') {
  29. alert('el campo b está vacío');
  30. return false;
  31. }else {
  32. document.frm.submit();
  33. }
  34. break;
  35. case "bt_eliminar":
  36. if(document.getElementById('c').value == '') {
  37. alert('el campo c está vacío');
  38. return false;
  39. }else {
  40. document.frm.submit();
  41. }
  42. break;
  43. }
  44. }
  45. </script>
  46. </head>
  47. <body>
  48. <form method="post" name="frm" action="pagina.asp">
  49. <input type="text" value="" name="a" id="a"/><br />
  50. <input type="text" value="" name="b" id="b"/><br />
  51. <input type="text" value="" name="c" id="c"/>
  52. <div id="botonera">
  53. <input type="button" name="bt_insertar" id="bt_insertar" value="Insertar""/>
  54. <input type="button" name="bt_buscar" id="bt_buscar" value="Buscar"/>
  55. <input type="button" name="bt_eliminar" id="bt_eliminar" value="Eliminar"/>
  56. </div>
  57. </form>
  58. </body>
  59. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 15/07/2010, 08:27
 
Fecha de Ingreso: julio-2010
Mensajes: 29
Antigüedad: 13 años, 9 meses
Puntos: 3
Respuesta: validar formulario con varios botones

muchas gracias, ya lo solucione de otra manera, pero gracias por la ayuda, lo unico que aun no me funciona ni con tu codigo ni con el mio es, que si te fijas en el mio dependiendo de en que boton haga click, el submit deberia llamar a un php distinto,
en el caso de insertar debe llamar a cliente.php, en buscar a buscarcliente.php... y eso no soy capaz de cambiar el submit desde java.

Antes de hacer la validacion en el boton tenia puesto:
<input type="submit" name="bt_buscar" id="bt_buscar" value="Buscar" onClick="this.form.action='buscacliente.php';"/>
<input type="submit" name="bt_eliminar" id="bt_eliminar" value="Eliminar" onClick="this.form.action='eliminacliente.php';"/>

pero ahora al tener que modificar el onClick, no se como hacerlo desde javascript.

Muchas gracias de nuevo y a ver si alguien me puede echar una mano.
  #4 (permalink)  
Antiguo 15/07/2010, 11:49
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: validar formulario con varios botones

Hola

Añade a la función document.frm.action='laweb.php' y quitalo del form

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: botones, formulario
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 15:23.