這裏是我的代碼:如何讓表格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