这里是我的代码:如何让表格ID唯一在foreach
<?php foreach ($users as $user)
{
//some php code here to define variables
<a 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_<?php echo $id_to; ?>" 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>
<input type='hidden' name='mid' id='message_id' value=""></input>
</form>
<?php
}
?>
那么我:
<script type="text/JavaScript">
function showMessageArea(link)
{
document.getElementById('message_id').value = this.id;
var message_area = document.getElementById('message_area_'+this.id);
message_area.parentNode.removeChild(message_area);
link.parentNode.insertBefore(message_area, link.nextSibling);
message_area.style.display="block";
}
我pagesource显示:请注意,形式ID是独特
<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_36" 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>
<input type='hidden' name='mid' id='message_id' value=""></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_38" 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>
<input type='hidden' name='mid' id='message_id' value=""></input>
</form>
现在的问题是:在我的JS this.id未定义????? THUS不显示我的textarea和sumbit按钮 如何获取var message_area = document.getElementById('message_area _'+ this.id)unique? 我也尝试split.link(“=”)[1]获得id并连接它与message_area_ ,但它不起作用 链接也是唯一的,http://www-rainbowcode-mobi/messageSent.php?id=36其中id将是唯一代码链接的id我点击
请问我需要帮助吗? 谢谢
谢谢即时消息得到正确的ID,但仍然我的var message_area不是唯一的,因此我的实际消息区域和提交按钮不显示 – 2011-06-01 12:43:24
嗯,我不明白你为什么不移动那个窗体'foreach'循环 - 它现在引起你的问题,因为你现在有了非唯一的id message_id的输入。请将表单移到循环之外。并删除'?id = <?php echo $ id_to; ?>''从表单动作 - 你已经在使用和设置''这是做同样的事情(但只能以正确的方式) – mkilmanas 2011-06-01 18:24:35