Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2010, 10:30
samy4ever
 
Fecha de Ingreso: agosto-2008
Mensajes: 143
Antigüedad: 15 años, 8 meses
Puntos: 1
Procesador formulario desde el php

Hola,

Es algo raro. Tengo un formulario. Cuando hago onsubmit, se llama una función javascript, espera 3 segundos y, al terminar, hace el form.submit() (lo que vendría a ser, hacer el action del formulario).

El problema es que el php que recibe el formulario, no me procesa los datos :(

Os pongo el código a ver si veis qué falla.


El formulario html:

Código:
<div style="height: 25px;">
			<div id="resultado">Insertando...&nbsp;&nbsp;<img src=./IMG/ajax-loader.gif></div>
		</div>
					<form name="formlogin" id="formlogin" action="conPhpAjax.php" method="post" class="form" onsubmit="return prova();" >


						<label for="usdni">DNI </label>

						<div class="div_texbox">

							<input class="username" name="usdni" type="text" class="usdni" id="usdni" />

						</div>
El código JS:

Código:
function prova(){
	document.getElementById("resultado").style.display = 'block';
	setTimeout("nova()", 3000);
	return false;
}

function nova(){
	document.forms["formlogin"].submit();
}
Y la página donde está puesto el action del formulario:

Código:
<?php
	include('functions.php');
	// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
	echo "variables: ";
	echo $HTTP_POST_VARS["usdni"] ;
	echo $_POST['udni'];
	echo "FIN variables: ";
?>
La idea es simular un retardo de tiempo a la hora de mandar el formulario (de manera que un campo que estaba ocultado [resultado] se muestre [tal como hace el javascript] aunque en realidad sea instantáneo). Una vez han pasado 3 segundos (simulando con un gif, como he dicho, que se procesan los datos), quiero que se llame el submit del formulario (el action vaya) y me haga el echo de las variables del formulario... Pero no lo hace. No las recibe :(

La idea es que al final, en lugar del echo de las variables se haga un insert a una base de datos. Lo ideal sería que la página del action no se viera, sólo se ejecutara y después se viera otra página distinta (por ejemplo, consultar los datos introducidos).

Me podeis ayudar/replantear la situación? Ando algo perdido...

Gracias