Enviar formulario a un action determinado...[JS]

erdanblo

Pués es que no tengo ni idea de Javascript y tengo un problemilla, que no se muy bien como hacer.

Tengo esto: www.erdanblo.net/ej.gif

El caso, es que se supone que es una consulta a una DB para sacar los registros y poder editarlos, pero claro, necesito varios input's, uno para cada registro, la cosa seria que cuando pulse sobre el boton de editar pués que editará por ejemplo el registro con ID 1.

Por ejemplo, yo le doy a editar y envia el formulario por post y en el action por ejemplo loquesea.php?id=1

Habia pensado en este código:

<?php

mysql_query(... consulta a la db)...

echo "< input name='nombre' value='$row[nombre]'> < input name='valor' value='$row[valor]'> < input type=button onclick='javascript('form.envia.id=1')'>";

?>

Pero es que no tengo ni pijo de JavaScript de como hacerlo :/

A ver si alguien con algo de conocimientos de Js me echa una mano :(

EnZo

mira a ver si esto te vale, creo que es lo que buscas

<script>
function envia(id) {
document.tuform.action='miweb.htm?id=' + id;
document.tuform.submit();
}
</script>
< body>
<form name="tuform" method="post">
< input name='nombre1' value='Juan'> < input name='apel1' value='xac'> < input type="button" onClick="envia(40)">< br>
< input name='nombre2' value='ada'> < input name='apel2' value='hdac'> < input type="button" onClick="envia(46)">< br>
< input name='nombre3' value='Jgsgn'> < input name='apel3' value='xadac'> < input type="button" onClick="envia(60)">
</form>

erdanblo

Al final lo hice mediante PHP y sacando la id con key, que me dijo thessoro de php-hispano (te busqué pero no tabas :p)

El caso es que ninguno de las dos formas creo que me vale, porque yo no modifico todos los campos, es decir solo modifico una linea... osea, que a la hora de actualizar los campos en la base de datos, se me junta todo.

La otra solución que no queria usar, y que he usado, un form para cada registro y ningún problema.

EnZo

has probado eso?

con eso solo tendrias que modificar un registro en la base de datos, en vez de modificarlos casi todos, que es lo que crees que hace.

te explico:

echo "< input name='nombre$row[id]' value='$row[nombre]'> < input name='valor$row[id]' value='$row[valor]'> < input type=button onclick='envia($row[id])'>";

Tu mostraras todas los campos y botones de esa manera, fijate que en cada input tienes name, pues el name del input ira acompañado del id, es decir si el registro es con id 25 pues el name de ese input seria nombre25.

Una vez con eso cuando lo mandamos a la web que hace la modificacion de la base de datos,
loquesea.php?id=25

para recoger el campo solo tendrias que poner:

$POST['nombre' . $GET['id']] y teniendo el id y los nuevos datos solo tienes que modificar un registro de la bd en vez de varios.

Me has entendido? espero que si :D

erdanblo

Si calla, pegame guantazos hasta que me desangre de los iGnorante que he sido...

No me fije en el "nameN", no ando yo muy fino hoy.

EnZo

reservate algun diente xD
esque en el primer ejemplo no te puse el nombreN, pero pensaba que lo harias despues de tener el javascript, el primer ejemplo era solo para explicar como actuara el javascript :D

erdanblo

Ajam, es que claro, con lo que me dio thessoro, sin eso no me funciona ni lo tuyo ni lo del key(), asi que estaba en las misma...

Usuarios habituales

  • erdanblo
  • EnZo