Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/05/2010, 03:40
Avatar de aniMAYtions
aniMAYtions
 
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Ayuda con XAJAX, como pasar el formulario a otra pagina, para procesarlo

Hola!!

He leído este post buscando una solución a mi problema y creo que se adapta bastante bien. Pero si no recibo una respuesta en breve abriré uno nuevo con mi duda específica.

Vereis, tengo un formulario en php que necesito validar, no sólo con javascript sino también con xajax.
Os cuento, es un formulario en el que, si pulsas en un radiobutton se despliega el resto del formulario y debes de hacer unas acciones determinadas.
Con javascript valido que se haia seleccionado al menos 1 checkbox de los que muestro, usando el evento onSubmit del formulario.
Luego, también en el evernto onSubmit de ese formulario necesito validar si se han introducido otros datos provenientes de un par de select(la introduccion de esos datos la hago con xajax) preguntando a la base de datos.

Os muestro un esquema de mi formulario

Código PHP:
Ver original
  1. function muestraForm($dato1, $dato2)
  2. {  
  3.     echo"<div id = 'formulario' style='min-height: 800px'>
  4.     <table id='itsthetable'>
  5.     <form action='./Index.php?action=muestraotroform&parametro=$dato1' method='post' name='formu' id='formu' enctype='multipart/form-data' onSubmit='return xajax_compruebaInserciones(document.formu.dato2.value, document.formu.radiodato.value); javascript: return validaForm(this) '>
  6. .
  7. .
  8. .
  9.     <tr>
  10.         <th>&iquest;Pregunta?</th>
  11.         <td>
  12.             <input type='radio' name='radiodato' id='radiodatosi' value='1' onClick='javascript:compruebaSeleccion(this.name, this.value)' />S&iacute; <input type='radio' name='radiodato' id='radiodatono' value='0' onClick='javascript:compruebaSeleccion(this.name, this.value)'/>No
  13.         </td>//si elijo sí se muestra el resto del formulario. Si elijo no, se esconde
  14.         <td></td>
  15.     </tr>
  16. .
  17. .
  18. .//Lo que viene aquí se inserta si todo lo demás es correcto y se pasa al siguiente formulario
  19.         <tr>
  20.             <th>Grupo de checkbox:</th>
  21.             <td><div id='grupo1'>";
  22.                 $conexion = conectar_intranet();
  23.                     $consulta = "Select...";
  24.                     $resultado = mysql_query($consulta, $conexion);
  25.                     mysql_close($conexion);
  26.                     while($fila = mysql_fetch_array($resultado))
  27.                         {
  28.                             echo utf8_encode("<input type='checkbox' name='datos[]'  value='$fila[0]' />$fila[1]<br/>");
  29.                         }
  30.             echo"</div></td>
  31.             <td><div id='grupo2'>";
  32.                 $conexion = conectar_intranet();
  33.                     $consulta = "Select ...";
  34.                     $resultado = mysql_query($consulta, $conexion);
  35.                     mysql_close($conexion);
  36.                     while($fila = mysql_fetch_array($resultado))
  37.                         {
  38.                             echo utf8_encode("<input type='checkbox' name='datos2[]' value='$fila[0]' />$fila[1]<br/>");
  39.                         }
  40.             echo"</div></td>
  41.         </tr>
  42.         <tr>
  43.         <th>primerSelect: </th>
  44.             <td style='width:40%'>
  45.                     <select name='nombreselect1' id='nombreselect1' value=''>";
  46.                         $conexion = conectar_intranet();
  47.                         $consulta = "Select...";
  48.                         $resultado = mysql_query($consulta, $conexion);
  49.                         while($fila = mysql_fetch_array($resultado))
  50.                         {
  51.                             echo utf8_encode("<option name='nombreselect1' value='$fila[0]'>$fila[1]</option>");
  52.                         }
  53. //Con lo siguiente inserto una serie de datos en la bd con xajax
  54.                     echo"</select>
  55.                 </td>
  56.                 <input type='hidden' name='dato2' value='$dato2' />
  57.                 <td rowspan='2' style='text-align:left'> <img src='images/add.png' onclick='xajax_insertaDatos(document.formu.dato2.value, document.formu.nombreselect1.value, document.formu.nombreselect2.value)' style='cursor:pointer'><div id='respuesta ></div> </td>
  58.             </tr>
  59.             <tr>
  60.                 <th>segundo select: </th>
  61.                 <td style='width:40%'>
  62.                     <select name='nombreselect2' id='nombreselect2' value=''>";
  63.                         $conexion = conectar_intranet();
  64.                         $consulta = "Select...";
  65.                         $resultado = mysql_query($consulta, $conexion);
  66.                         mysql_close($conexion);
  67.                         while($fila = mysql_fetch_row($resultado))
  68.                         {
  69.                             echo utf8_encode("<option name='nombreselect1' value='$fila[0]'>$fila[1]</option>");
  70.                         }
  71.                     echo"</select>             
  72.                 </td>
  73.             </tr>
  74.         </tbody>
  75. //ahora muestro el botón de submit
  76.         <tfoot>
  77.             <tr>
  78.                     <td ><input type='image' src='images/next.png' name='nextformu' value='nextformu' /></td>
  79.                     <td colspan = '2'><div id='errorform' class='divrojo' style='color:red'></div></td>
  80.             </tr>
  81.         </tfoot>
  82.         </form>
  83.             </table>
  84.         </div>";
  85. }

onSubmit='return xajax_compruebaInserciones(document.formu.dato2.va lue, document.formu.radiodato.value); javascript: return validaForm(this) '
Sería posible hacer esto??

Gracias!!