Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/07/2011, 20:19
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 1 mes
Puntos: 65
Respuesta: Evitar envio de formulario con checkbox marcado con otro campo input vacio

Hola de nuevo

GatorV, esa opción la he probado pero tampoco termino de arreglar la solución final o aclararme... ya que además ahora me doy cuenta que no solo es si está vacío el campo de texto si no que si marca Incompleto tampoco debe de enviarse.

He preparado unas opciones aparte con todo lo que podría ser:

Código PHP:
Ver original
  1. <?php              
  2.             if(isset($_POST['enviar']))//Si pulso enviar
  3. {
  4.     // Si check2 y check3 están marcados e importe diario e importe diario3 no están vacios o Incompleto.
  5.     // Si check2 está marcado e importe diario no está vacio o "Incompleto"
  6.     // Si check3 está marcado e importe diario3 no está vacio o "Incompleto"               
  7.     // Si check2 y check 3 están vacios                                
  8.     if(isset($_POST['check2']) && isset($_POST['check3']) && $_POST['importe-diario'] != "" && $_POST['importe-diario'] != "Incompleto" && $_POST['importe-diario3'] != "" && $_POST['importe-diario3'] != "Incompleto")
  9.     {//accion
  10.     echo "Si check2 y check3 están marcados e importe diario e importe diario3 no están vacios o Incompleto";
  11.     }
  12.     elseif(isset($_POST['check2']) && $_POST['importe-diario'] != "" && $_POST['importe-diario'] != "Incompleto")
  13.     {//accion
  14.     echo "Si check2 está marcado e importe diario no está vacio o Incompleto";
  15.     }
  16.     elseif(isset($_POST['check3']) && $_POST['importe-diario3'] != "" && $_POST['importe-diario3'] != "Incompleto")
  17.     {//accion
  18.     echo "Si check3 está marcado e importe diario3 no está vacio o Incompleto";
  19.     }
  20.     if(empty($_POST['check2']) && empty($_POST['check3']))         
  21.     {//accion
  22.     echo "Si check2 y check 3 están vacios";
  23.     }              
  24. // Cierro el envio total
  25. }          
  26. ?>

Sin embargo me doy cuenta que si marco los dos checkbox (2 y 3) y en checkbox2 está marcado y el campo importe-diario no está ni vacio ni Incompleto (correcto) y por ejemplo en checkbox3 está marcado pero importe-diario3 vacio o Incompleto (incorrecto y no debería de enviarse) se sigue enviando...

Lo he intentado con esta línea pero tampoco evita el envío.

Código PHP:
Ver original
  1. if(isset($_POST['check2']) && isset($_POST['check3']) && $_POST['importe-diario'] != "" && $_POST['importe-diario'] != "Incompleto" && $_POST['importe-diario3'] != "" && $_POST['importe-diario3'] != "Incompleto")
  2.                 {//accion
  3.                     echo "Si check2 y check3 están marcados e importe diario e importe diario3 no están vacios o Incompleto";
  4.                 }

¿Como podría arreglar eso último?