Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/05/2012, 10:34
Hekaly
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta Usar javascript:[funcion()] en un action de form html

Buenas a todos.

Tengo algunos problemillas en la web que estoy haciendo pero este no lo he sabido solucionar y por eso recurro a vosotros.

Tengo un formulario multipagina en el que vas rellenando parametros seccion a seccion (cada una es un php), y una vez que lo e hecho, lo he metido en la web principal, en menu.php (que es llamado por un include desde index.php).

Mi idea es ir haciendo el formulario y pasando cada seccion estando siempre dentro del menu.php (sin cambiar ni recargar la pagina).

En metodo que uso para no tener que recargar la pagina es el siguiente.

Código:
function Enviar(_pagina,capa) {
    var ajax;
    ajax = ajaxFunction();
    ajax.open("POST", _pagina, true);
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.onreadystatechange = function() {
		if (ajax.readyState==1){
			document.getElementById(capa).innerHTML = " Aguarde por favor...";
			     }
		if (ajax.readyState == 4) {
                document.getElementById(capa).innerHTML=ajax.responseText; 
		     }}
	ajax.send(null);
}
Dentro del archivo menu.php tengo la siguiente llamada...

Código:
a href=javascript:Enviar('formulario/formulario.php','contenido') > Agregar</a>
Para que al ser llamado el formulario, no tenga que recargar la web.

Hasta ahi todo perfecto, el problema biene a la hora de ir pasando seccion a seccion y conservando los datos que voy introduciendo.

He probado por hacer lo mismo desde "action" pero nada

Código:
action="javascript:Enviar('formulario/formulario.php','contenido')"
He estado mirando por foros (incluido este) y he encontrado que use onsubmit en vez de action, pero sigue in cogerme los datos, otra posibilidad que he vsto es usar la siguiente forma "action=formulario/paso2.php enviar(/formulario/paso2.php, contenido);" pero tampoco.

Que es lo que puedo tener mal, a como deberia hacer esto. He pensado que desde action llamae a simplemente a una funcion js y esta funcion llame a la funcion enviar para seguir con el siguiente paso, pero no se si funcionara.

Otro problema que pienso es que como las secciones del formulario tiene codigo php y quiero que sea llamado por una funcion js es posible que no recoja los valores ya que php es para servidor y js ara cliente, pero aun asi, js deberia llamar bien a la web, y ahi que se encargue de cojer los datos, no se.

Ah por cierto: Para evitar posibles explicaciones, el codigo del formulario funciona perfectamente, me coge todos los datos, pero claro, voy cargando la pagina paso2.php aparte y no dentro de menu.php que es la idea, el problema esta en el action del form, o eso creo yo.

Muchas gracias por la ayuda.