通过javascript获取兄弟姐妹的价值

时间:2013-10-20 13:45:33

标签: javascript html

我根据特定条件在循环上创建一个textarea和一个按钮:

while($row_c= mysqli_fetch_array($result_comments))
{
//some code goes here

<textarea type="text" id="pm_text" name="text"></textarea><br>
<button name="send_comment" id="post_comment" class="button" onClick="post_pm_comment()">Post</button>
}

现在在我的函数“post_pm_comment”中,我想在单击post按钮时访问textarea中写的文本。

我尝试了这个,但它只给了我第一个textarea的文本和创建的按钮:

function post_pm_comment(thidid, pm_id, path, pm,getter)
{
    var pm_text = document.getElementById("pm_text").value;
}

我该怎么办? 谢谢

1 个答案:

答案 0 :(得分:3)

您的代码输出的DOM结构无效,因为id必须在页面上是唯一的。您不能在多个元素上使用相同的id。完全删除id值,您不需要它们。

完成后,最小化更改的答案是将this传递给您的处理程序:

onClick="post_pm_comment(this)"

...然后在你的处理程序中,进行导航:

function post_pm_comment(postButton)
{
    var pm_text;
    var textarea = postButton.previousSibling;
    while (textarea && textarea.nodeName.toUpperCase() !== "TEXTAREA") {
        textarea = textarea.previousSibling;
    }
    if (textarea) {
        pm_text = textarea.value; // Or you may want .innerHTML instead
        // Do something with it
    }
}

Live Example | Source