Foros del Web » Programando para Internet » PHP »

Habilitar submit si esta todo validado

Estas en el tema de Habilitar submit si esta todo validado en el foro de PHP en Foros del Web. Ah entiendo y si dejas el submit habilitado y solamente se deshabilite cuando tengas valores erróneos?....

  #31 (permalink)  
Antiguo 28/11/2013, 12:30
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 13 años
Puntos: 3
Respuesta: Habilitar submit si esta todo validado

Ah entiendo y si dejas el submit habilitado y solamente se deshabilite cuando tengas valores erróneos?.
  #32 (permalink)  
Antiguo 28/11/2013, 12:31
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 13 años
Puntos: 3
Respuesta: Habilitar submit si esta todo validado

Ah entiendo y si dejas habilitado el submit y lo deshabilitas cuando tengas datos erróneos?. Así funcionaría.

Saludos
  #33 (permalink)  
Antiguo 28/11/2013, 12:48
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Habilitar submit si esta todo validado

Tambien, seria la inversa de como lo quiero hacer.
Pero si funciona ya me saco un problemon de encima! ja
__________________
Nico...
  #34 (permalink)  
Antiguo 28/11/2013, 12:50
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 13 años
Puntos: 3
Respuesta: Habilitar submit si esta todo validado

Dale probalo y decime que tal.

Saludos
  #35 (permalink)  
Antiguo 28/11/2013, 13:16
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Habilitar submit si esta todo validado

Uhh hoy no es mi dia, no le puedo encontrar la vuelta.
En principio saco el disabled='disabled' del submit
Y luego tengo mi script.
Código Javascript:
Ver original
  1. <script>
  2. function desactivo_submit()
  3. {
  4.     var x = document.forms["formulario"].elements;
  5.     var desactivar = true;
  6.  
  7.     for (var i = 0; i < x.length; i++) {
  8.         if (x[i].style.display == "border:2px solid #cc0000;") desactivar = false;
  9.     }
  10.  
  11.     if (desactivar) {
  12.         document.getElementById('guardar').disabled = false;
  13.     }
  14.     else {
  15.         document.getElementById('guardar').disabled = true;
  16.     }
  17. }
  18. </script>

Asi estaba originalmente, deberia cambiar los true por false y viceversa, no? Para la opcion que me diste, verdad?
__________________
Nico...
  #36 (permalink)  
Antiguo 28/11/2013, 13:26
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 13 años
Puntos: 3
Respuesta: Habilitar submit si esta todo validado

Pero ese código como sabes si el campo esta vacío?.

Yo utilizaría este

Código Javascript:
Ver original
  1. function desactivo_submit(){
  2.  
  3.     var frm = document.getElementById("formulario");
  4.     var desactivar = true;
  5.  
  6.     for (i=0;i<frm.elements.length;i++)
  7.     {
  8.         if (frm.elements[i].value == ''){
  9.             desactivar = false;
  10.             frm.elements[i].style.display == "border:2px solid #cc0000;"
  11.         }
  12.     }
  13.        
  14.    
  15.     if (desactivar) {
  16.         document.getElementById('guardar').disabled = false;
  17.     }
  18.     else {
  19.         document.getElementById('guardar').disabled = true;
  20.     }
  21. }

Y no hace falta cambiar nada, ya que si esta vacío lo deshabilita.
  #37 (permalink)  
Antiguo 28/11/2013, 13:34
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Habilitar submit si esta todo validado

Esta bien, pero igual me sigue enviando el form si hay algun error.
__________________
Nico...
  #38 (permalink)  
Antiguo 28/11/2013, 13:44
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 13 años
Puntos: 3
Respuesta: Habilitar submit si esta todo validado

Exacto, si hay error te va a colorear y deshabilitar el submit.

Lo probaste, te sirvió?.
  #39 (permalink)  
Antiguo 28/11/2013, 13:45
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Habilitar submit si esta todo validado

Si, lo colorea pero no me deshabilita el submit.
__________________
Nico...
  #40 (permalink)  
Antiguo 28/11/2013, 13:59
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 13 años
Puntos: 3
Respuesta: Habilitar submit si esta todo validado

Esto es lo que necesitas creo:

Código Javascript:
Ver original
  1. <html>
  2.  
  3. <head>
  4.  
  5. <script>
  6.  
  7. function desactivo_submit(){
  8.  
  9.     var frm = document.getElementById("formulario");
  10.     var desactivar = true;
  11.  
  12.     for (i=0;i<frm.elements.length;i++)
  13.     {
  14.         if (frm.elements[i].value == ''){
  15.             desactivar = false;
  16.             frm.elements[i].style.display == "border:2px solid #cc0000;"
  17.         }
  18.     }
  19.        
  20.    
  21.     if (desactivar) {
  22.         document.getElementById('guardar').disabled = false;
  23.     }
  24.     else {
  25.         document.getElementById('guardar').disabled = true;
  26.     }
  27. }
  28.  
  29.  
  30. </script>
  31. </head>
  32.  
  33. <body onload="desactivo_submit();">
  34.  
  35. <form id='formulario' action='' >
  36. <input type='text' id='txt1' onfocus='desactivo_submit();' />
  37. <input type='text' id='txt2' onfocus='desactivo_submit();' />
  38. <br>
  39. <input type='button' id='guardar' value= 'Hola'>
  40. </form>
  41.  
  42. </body>
  43.  
  44. </html>

En body del html le agrega un onload para que verifique por javascript.

Saludos
  #41 (permalink)  
Antiguo 28/11/2013, 14:06
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Habilitar submit si esta todo validado

No che, sigue igual.....ya tengo un mareo con esto! ja
__________________
Nico...
  #42 (permalink)  
Antiguo 28/11/2013, 18:20
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Habilitar submit si esta todo validado

eso es lo que le dije yo desde el principio que lo pusiera
== ''
pero no hace caso.
Si eso no te funciona, es por que los input tienen un valor asignado como defaul
Cita:
<td><input type="text" name="<?php echo ("trab_apellido".$i);?>" id="<?php echo ("trab_apellido".$i);?>" value="<?php echo $apellido; ?>" style="border:0px; width: 80px;<?php if(!(preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ ]{2,50})$/i",$apellido))){ echo "border:2px solid #cc0000;";} ?>" onblur="valida_apellido(<?php echo $i; ?>); esconde(<?php echo $i; ?>);" ></td>
eso le asigna el value de $apellido, pero aunque la variable no este definida, el value sera el mensaje de error de php.
Cita:
<td><input type="text" name="<?php echo ("trab_apellido".$i);?>" id="<?php echo ("trab_apellido".$i);?>" value="<?php if(isset($apellido)) echo $apellido; ?>" style="border:0px; width: 80px;<?php if(isset($apellido && !(preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ ]{2,50})$/i",$apellido))){ echo "border:2px solid #cc0000;";} ?>" onblur="valida_apellido(<?php echo $i; ?>); esconde(<?php echo $i; ?>);" ></td>
y asi con todos los input.
Dependiendo de donde obtengas $i tambien deberas comprobar que este definida con isset tambien.
De esa forma cuando algun variable no este definida no escribira un value y el =='' funcionara.
Edita el codigo fuente de la pagina y veras como todos los input tienen un valor.
Pero agregando los isset que te e dicho en todos los input y en el javascript poniendo == '' tiene que funcionar por narices.

Adicionalmente tambien te informo que las etiquetas input terminan por />, si no le pones la / funcionara, pero cuando intentes validar el css te dara error de sintaxis.

Última edición por Dalam; 28/11/2013 a las 18:58
  #43 (permalink)  
Antiguo 02/12/2013, 13:30
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Habilitar submit si esta todo validado

Hola Dalam, gracias por la ayuda, soy nuevo en esto y hay cosas que todavia no agarro bien! Me tira este error en el primer input

Código error:
Ver original
  1. Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /home/u133075534/public_html/
__________________
Nico...
  #44 (permalink)  
Antiguo 02/12/2013, 14:32
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Habilitar submit si esta todo validado

Cita:
Iniciado por Nico0601 Ver Mensaje
Hola Dalam, gracias por la ayuda, soy nuevo en esto y hay cosas que todavia no agarro bien! Me tira este error en el primer input

Código error:
Ver original
  1. Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /home/u133075534/public_html/
Falta un cierre en el isset prueba con esto

Cita:
<td><input type="text" name="<?php echo ("trab_apellido".$i);?>" id="<?php echo ("trab_apellido".$i);?>" value="<?php if(isset($apellido)) echo $apellido; ?>" style="border:0px; width: 80px;<?php if(isset($apellido) && !(preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ ]{2,50})$/i",$apellido))){ echo "border:2px solid #cc0000;";} ?>" onblur="valida_apellido(<?php echo $i; ?>); esconde(<?php echo $i; ?>);" ></td>

Etiquetas: habilitar, submit, tabla, todo
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 11:24.