这是我的代码:
<?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中这个.id是未定义的?????这不显示我的textarea和sumbit按钮 怎么能得到var message_area = document.getElementById('message_area _'+ this.id)unique ??? 我也尝试split.link(“=”)[1]获取id并将其与message_area_连接 但它不起作用 link也是唯一的,http://www-rainbowcode-mobi/messageSent.php?id=36其中id将是我点击的唯一代码链接的ID
请问我需要帮助吗? 谢谢
答案 0 :(得分:0)
尝试在php代码中更改此内容:
onclick="showMessageArea('<?php echo $id_to; ?>'); return false;"
然后您可以通过以下方式获取消息区域:
var message_area = document.getElementById('message_area_'+link);
答案 1 :(得分:0)
有两种选择:
1)将id="<?php echo $to_id; ?>"
添加到您的<a>
代码,或
2)最好将id作为javascript函数参数传递:
<a ... onclick="showMessageArea(this, '<?php echo $to_id; ?>'); return false;">
然后你的javascript函数应该是这样的
function showMessageArea(link, id)
{
document.getElementById('message_id').value = id;
var message_area = document.getElementById('message_area_'+id);
....
}