在具有多个相同Id的jQuery中访问textarea的值?

时间:2012-06-12 10:33:57

标签: jquery function html jquery-mobile textarea

我的页面中有多个“发布”名称的div标签,我想要做的是在提交点击服务器上发布数据。我无法在我的jquery方法 commentPost()中检索textarea“ commentText ”的值。

<div id="post">
  <br>topic containtment is here
  <form name="postComment" id="commentForm" action="javascript:void(0);" method="post"    
   target="_top" onsubmit="return commentPost();">
    <textarea name="comment" id="commentText" cols="10" rows="3" accesskey="1">
    </textarea><br>
    <input type="submit" name="submit" id="commentpost" value="Submit" accesskey="2">
   </form>
</div>

jQuery方法

function commentPost()
{
    alert("Inside commentpost");
        //how to get value of commentText
    var comment=("form > commentText").val(); //<--not working
    alert(comment);
    //further code to be written
}

注意:页面中有多个 div post 标记。

如何获得textarea的价值。??

3 个答案:

答案 0 :(得分:1)

not valid HTML具有相同ID的多个元素。

如果您解决了这个问题,那么您的jQuery问题将会间接解决。

答案 1 :(得分:1)

id必须能够在页面上标识唯一元素。

通常情况下,您尝试执行的操作可以使用class

来解决
<textarea name="comment" class="commentText" cols="10" rows="3" accesskey="1">
</textarea><br>

然后,使用$("form > .commentText")

答案 2 :(得分:1)

如果您的文档中有一个值为“commentText”的id,那么您的函数应如下所示:

function commentPost()
{
    alert("Inside commentpost");
        //how to get value of commentText
    var comment=("form > #commentText").val(); //<--not working
    alert(comment);
    //further code to be written
}

如果您有更多带有此ID的标记,则您的标记无效,您应该在标记中将id =“commentText”更改为class =“commentText”。在这种情况下,您的函数应如下所示:

function commentPost()
{
    alert("Inside commentpost");
        //how to get value of commentText
    var comment=("form > .commentText").val(); //<--not working
    alert(comment);
    //further code to be written
}

如果这样做,请不要忘记从您的功能中删除警报。