Tengo este código en un foreach que las listas de enlaces uniquecode:dificultad con la acción del formulario y las identificaciones únicas
<a id="<?php echo $id_to ?>" href="<?php echo ADDRESS; ?>messageSent.php?id=<?php echo $id_to ?>" class="charcoal_link" style="line-height: 20px;" onclick="showMessageArea(this); return false;" >
<?php echo $uniqueCode1?><span class="pink_text"><?php echo $uniqueCode2?></span><?php echo $uniqueCode3?>
</a>
<form id="message_area" style="display:none" method="post" action="<?php echo ADDRESS; ?>messageSent.php?id=<?php echo $id_to ?>">
<textarea name="message" rows="10" cols="20"></textarea>
<input name="Submit" type="submit" value="Send"></input>
</form>
esto es lo que me pasa cuando veo la fuente de la página:
<a href="http://www-rainbowcode-mobi/messageSent.php?id=36" class="charcoal_link" style="line-height: 20px;" onclick="showMessageArea(this); return false;" >
KUZELJA<span class="pink_text">000</span>RC
</a>
<form id="message_area" style="display:none" method="post" action="http://www-rainbowcode-mobi/messageSent.php?id=36">
<textarea name="message" rows="10" cols="20"></textarea>
<input name="Submit" type="submit" value="Send"></input>
</form>
<a href="http://www-rainbowcode-mobi/messageSent.php?id=38" class="charcoal_link" style="line-height: 20px;" onclick="showMessageArea(this); return false;" >
ALANZIM<span class="pink_text">000</span>RC
</a>
<form id="message_area" style="display:none" method="post" action="http://www-rainbowcode-mobi/messageSent.php?id=38">
<textarea name="message" rows="10" cols="20"></textarea>
<input name="Submit" type="submit" value="Send"></input>
</form>
el problema es cuando la acción se dispara y la página va al mensaje enviado y veo la fuente de la página de nuevo $id_to
NO es la identificación del enlace en el que hice clic. Toma el ID del primer enlace, independientemente del enlace en el que hago clic
aquí la fuente de la página messageSent (I hecho clic en el enlace con id 38 NO 36): donde tengo una print_r($_REQUEST)
y le da:
Array
(
[id] => 36
[message] => bj,nbgj,
[Submit] => Send
)
.
function showMessageArea(link)
{
var message_area = document.getElementById('message_area');
message_area.parentNode.removeChild(message_area);
link.parentNode.insertBefore(message_area, link.nextSibling);
message_area.style.display="block";
}
no ver lo que hace el '' showMessageArea (...), pero tengo una sospecha, que se forma con los identificadores únicos (no !!!) puede ser la causa de la forma incorrecta para mostrarse y, de hecho, está enviando otro formulario distinto del deseado – mkilmanas
function showMessageArea (enlace) { var message_area = document.getElementById ('message_area'); message_area.parentNode.removeChild (message_area); link.parentNode.insertBefore (message_area, link.nextSibling); message_area.style.display = "bloque"; } ¿POR QUÉ DEBO HACER ESTO? SOY DESPERTADO :) –
No trabajo con PHP, así que perdónenme si estoy equivocado aquí. ¿Pero no codificaste 36 en esa ID de array que veo arriba? ¿Has pensado en establecer dinámicamente el valor de la ID en esa matriz en lugar de hacerlo en la codificación rígida? Solo un pensamiento. –