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

Gracias Maverick.
Pero no se si es que io no me he explicado bien, si tu no has entendido realmente lo que quería o si no estoy entendiendo tu respuesta.
De todas formas lo vuelvo a repetir:
Mi formulario se compone de 2 partes; un form normal que valida los campos con javascript y al darle a un botón ieva a otro form si se realiza la inserción. Si no se realiza muestra un mensaje de error sin volver a mostrar el formulario(se recarga la página).
Luego la otra parte está hecha con xajax y consiste en 2 select que van insertando datos en referencia al registro que se va a insertar con el formulario(por ejemplo, un cliente que compra varios artículos).
El formulario me lo valida bien, pero el botón de pasar al siguiente form no es el mismo botón que hace las inserciones de xajax.
Lo que io pretendo es que, a parte de validar el formulario con javascript, me valide que se ha insertado algún otro registro en la tabla de inserciones xajax y, si no es así, no deje de mostrar el formulario, sino que en un div especial muestre un mensaje de error al intentar pasar con el otro botón. Y eso con php no puedo hacerlo.

He probado lo de las sesiones. Ya tenía iniciada la sesión desde que creé la página(que por cierto, esta la estoy haciendo bajo joomla pero a base de wrapper), y lo hace bien(inicializo la variable si se hace al menos una inserción en la función iamada con xajax), pero claro, luego desde php puedo poner:
Código PHP:

if(isset($_SESSION['misesion']))
pasaAlSiguienteForm($dato1, $dato2);
else
{
?>
<script languaje='javascript'>muestraMensajitoError();</script>
<?
}
En la función muestraMensajitoError() le digo que coja el div que tengo para los errores y me muestre la frase que quiero con un innerHTML, pero la página ia se ha recargado, así que primero debería guardar todas las variables que introdujeron en sesiones y volver a decirle que muestre el formulario con esas variables para que encuentre el div donde poner el mensaje. Vamos, una locura.

La otra opción que me has dado no sé cómo aplicarla, no la veo si no es poniéndole en el onSubmit del formulario que se redirija a otra función php con xajax y que esta, a su vez, valide el form con javascript y compruebe que se ha insertado con la otra función xajax... Lo he intentado, pero cuando le pongo el xajax en el onsubmit no me hace nada, ni me da error ni nada de nada.

Existe otra solución para esto?? seguiré googleando de todas formas a ver si encuentro algo.

Gracias otra vez.

Al final lo he logrado resolver, pero de una forma muy rudimentaria y, aunque por ahora se va aquedar así, me gustaría encontrar otra solución más orientada a una consulta a la base de datos
Te comento. Resulta que cuando se insertan registros, con la salida de la función de xajax, éstos se muestran en un div que está vacío al inicio.
Entonces desde la función javascript con la que valido el formulario he puesto que si ese div está vacío me muestre el mensaje de error y no me deje continuar. Pero sigo sin ver que esa sea la solución porque, y si por x no se imprime nada aunque se haga la inserción correctamente?
Un saludo

Última edición por aniMAYtions; 15/05/2010 a las 16:31 Razón: sigo probando