Foros del Web » Programando para Internet » PHP »

A vueltas con los forms

Estas en el tema de A vueltas con los forms en el foro de PHP en Foros del Web. Tengo un pequeño lío con los forms que me está costando resolver. Veréis: La intención original es que haya algo como esto. Explicado de forma ...
  #1 (permalink)  
Antiguo 18/11/2009, 02:12
 
Fecha de Ingreso: noviembre-2009
Mensajes: 19
Antigüedad: 14 años, 5 meses
Puntos: 1
A vueltas con los forms

Tengo un pequeño lío con los forms que me está costando resolver. Veréis:

La intención original es que haya algo como esto. Explicado de forma esquemática:

Cita:
<form name="formu1"...>

while (){

<input checkbox del formu1>

<input hidden para formu2>
<a que funciona como submit (javascript) para formu2>

}

<input submit formu1>
</formu1>
Lo que hace el código que estoy construyendo es sacar, a partir de una búsqueda sql, unos resultados que, con un checkbox se proceserán en un form. Sin embargo, cada resultado necesita otro form propio.

Qué ocurre? Que no se puede meter un form dentro de otro form. "Vale", pienso, "pondré las etiquetas form fuera, que seguro que hay alguna manera de identificar los input de cada form aunque no estén dentro". No sé cual es (y si la hay espero que me respondais), pero lo doy por hecho y hago lo siguiente:

Cita:
<form name="formu1"...>

$ind=1

while (){
$ind = $ind +1;

<input checkbox del formu1>

<input hidden para formu.$ind>
<a submit (javascript) para formu.$ind>

}

<input submit formu1>
</formu1>

while ($ind !=1){
<formu.$ind>
</form>
En realidad no son dos form, sino tantos como tuplas haya, ya que de otro modo tendriamos n campos hidden con el mismo nombre. Con el índice lograría identificar cada hidden y cada <a> con submit a un formulario.

Ahora bien, como digo, no tengo ni idea ni de si es posible. Gracias de antemano.
  #2 (permalink)  
Antiguo 18/11/2009, 02:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: A vueltas con los forms

no pues no es posible así como lo planteas... al menos HTML no lo permite...

a lo mucho, deberías poner ID unicos en los <input/> que piensas relacionar posteriormente en tu segundo formulario...

y, desde el segundo formulario accesar el valor del <input/> basándose únicamente en su ID

suerte!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/11/2009, 03:19
 
Fecha de Ingreso: noviembre-2009
Mensajes: 19
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: A vueltas con los forms

te refieres a esto? voy a ponerlo ya mejor

Cita:
<form name="formu1" id="formu1" action="destino1.php" method="post">

$ind=1

while (){
$ind = $ind +1;

<input type="checkbox" name="campo1" value="formu1" id="formu1">

<input type="hidden" name="campovalue="<?php echo $row[campo2];?>" " id="formu<?php echo $ind;?>">
<a onclick="javascript:document.form<?php echo $ind;?>.submit();" id="formu<?php echo $ind;?>">Ir a destino2</a>


}

<input type="submit" value="Ir a destino1" id="formu1">
</formu1>


while ($ind !=1){
<form name="formu<?php echo $ind;?>" id="formu<?php echo $ind;?>" "destino2.php" method="post>
</form>

$ind = $ind - 1;
}

Última edición por roski; 18/11/2009 a las 06:01
  #4 (permalink)  
Antiguo 18/11/2009, 03:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: A vueltas con los forms

Cita:
Iniciado por roski Ver Mensaje
te refieres a esto? voy a ponerlo ya mejor [...]
no entiendo, ¿que quieres decir??

aunque te adelanto, con el simple hecho de poner IDs (según tu) "relacionados" así no sirve, no me refería a eso... además, así esta mal... así no se relacionan, ni siquiera HTML permite eso...

porque si lo piensas un poco, no estas usando IDs únicos... ya que usas el mismo varias veces, y eso no tiene sentido...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 18/11/2009 a las 03:36 Razón: aclaración
  #5 (permalink)  
Antiguo 18/11/2009, 03:33
 
Fecha de Ingreso: noviembre-2009
Mensajes: 19
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: A vueltas con los forms

a ver si te referías a lo que yo he escrito, lo de los id.
  #6 (permalink)  
Antiguo 18/11/2009, 03:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: A vueltas con los forms

Cita:
Iniciado por roski Ver Mensaje
a ver si te referías a lo que yo he escrito, lo de los id.
absolutamente no...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 18/11/2009, 05:59
 
Fecha de Ingreso: noviembre-2009
Mensajes: 19
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: A vueltas con los forms

joe no entiendo, entonces a qué te estabas refiriendo???

porque tal y como lo puse, que estará mal fijo, cada form y sus campos comparten un id distinto.

así que no entiendo a qué te refieres con id unicos.

Última edición por roski; 18/11/2009 a las 06:06
  #8 (permalink)  
Antiguo 18/11/2009, 07:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: A vueltas con los forms

mira, que los input y el form compartan el mismo ID no quiere decir que cada uno tiene un ID único... ahí se rompe esa afirmación, ya no son únicos...

ahora, el HTML ni siquiera permite una relación así... por lo cual debes implementarla tu mismo, me imagino que con Javascript...

un ID único es eso, no mas que eso: un ID único por cada input y los form no importan, pero puede que para tu caso si...

que es un ID único?? ...pues un ID que no se repite en ningún otro input y que tampoco se repita en algún form, ni nada... eso es "único" ¿si sabias??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 18/11/2009, 13:04
 
Fecha de Ingreso: noviembre-2009
Mensajes: 19
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: A vueltas con los forms

me ha quedado claro que piensas que soy un pedazo de burro xD

ahora bien, en javascript estoy tan solo iniciado un poquito. podría alguien darme una pequeña pauta para saber hacia donde enfilarme?
  #10 (permalink)  
Antiguo 18/11/2009, 13:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: A vueltas con los forms

pues con Javascript, puedes obtener los elementos por su ID con document.getElementById(), o bien puedes usar jQuery para no tener que hacerlo a mano todo...

aún así, debes echar mano de un algoritmo mas ambicioso..

ejemplo, agregas un atributo extra a tus <input rel="el_id_del_form_x" class="externo"/> y con jQuery seleccionas todos los input con la clase "externo"

ahora, utilizas el atributo rel para sincronizar los formularios (pueden ser dinámicos, creados on-the-fly) y hacer el correspondiente submit()

no es sencillo si desconoces del tema, lo siento si al principio te moleste, suerte!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 18/11/2009, 16:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 19
Antigüedad: 14 años, 5 meses
Puntos: 1
me limitaré a intentarlo con javascript, que jquery aun ni lo he visto.

Al final he hecho lo siguiente, a ver si le véis donde falla porque yo no lo veo ^^


<a href="#" onClick= "abrir_ventana('"+$row['nombre']+"', '"+$row['apellidos']+"')">(más info)</a>


y abrir_ventana está programada así:

<script language=JavaScript>
function abrir_ventana (nom, aps)
{
window.open("catlib4.php?nombre=nom&apellidos=aps" , "CIRCULO DE LECTORES - CATÁLOGO", "width=500,height=400")
}
</script>

Última edición por GatorV; 19/11/2009 a las 16:26
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:22.