Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/12/2012, 07:17
Avatar de satjaen
satjaen
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 4 meses
Puntos: 10
Respuesta: Insertar y recuperar datos en el mismo formulario dinamicamente.

Cita:
Iniciado por rosonator Ver Mensaje
Está usando iframes para poder validar más de un formulario. Por defecto un formulario provoca la recarga de una página y la carga de las variabels globales $_POST o $_GET. Sin embargo, yo creo que lo mejor que puedes hacer es una "validación" propia en javascript.

Quieres que los datos se carguen en una tabla de esa misma página, por lo que símplemente se trata de que el botón de cada formulario en realidad no haga un submit, sino que llame a una función, pongamos que así:
Código:
<form id="formu1">
...
  <input type="text" value="xxxx">
  <input type="button" onClick="submitFormu(1)"
</form>

<form id="formu2">...
...
...
Tu tabla será algo así, supongo:

Código:
<table id="tabla1">
</table>
<table id="table2...
...
Y por último, a través de javascript, harás algo así


Código:
submitFormu(numForm){

 if (numForm==1) {
    document.getElementById('tabla1').innerHTML ="<tr><td>"+ document.GetElementById('id').value + "</td></tr>";
 else if (numForm==2) {
...
...

}
En este código creas dinámicamente filas. Si no es eso lo que te interesa, sino que tienes una estructura de tabla ya fija, pues pones un ID a cada celda y las accedes igual que yo he accedido la tabla.


Eso es todo, haces una validación dinámica y no recargas nada. No necesitas meterte en guirigays raros ni nada. Pues incluso validar la entrada en función a expresiones regulares, para que no te entren datos malos, por ejemplo.

Por supuesto, lo que he escrito no estará exento de tener errores, pero la idea es que pilles el concepto.

Un saludo,

Alex.
Alex, con lo de las tablas quería decir tablas en la base de datos. Es decir que tengo:
tabla llamada usuarios:

nombre
telefono
NUM_USUARIO

tabla llamada dir_usuarios:

calle
localidad
NUM_USUARIO

tabla llamada avisos:

tecnico
averia
NUM_USUARIO



Entonces, en la página tengo estos tres formularios. El problema es que primero tengo que hacer el primer insert de la tabla usuarios para que me cree en la base de datos el NUM_USUARIO. Y luego recuperar dicho NUM_USUARIO para ingresarlo en las demas tablas. Esto es para luego a la hora de hacer la recuperación de datos tener como referencia el NUM_USUARIO. No se si lo estoy haciendo bien, pero la verdad es que he pensado que se podía hacer mas rapido haciendo los tres insert a la vez. No se si me he explicado bien.
Un saludo