无法获得textarea值

时间:2015-08-06 11:32:15

标签: javascript jquery textarea

我正在使用onClick事件从文本区域获取值。  如果我使用下面的代码,它返回html而不是如下的值:

$(this).find(".button2").click(function($e) {
    var comment_content = $(this).find('textarea[name="comment_content"]').val();
    console.log(comment_content);
});

输出:

<textarea class="styledtextarea" id="comment_content" name="comment_content" onblur="if(this.value=='')this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue)this.value='';"></textarea>

即使我在文本区域中给出任何值,我仍然看不到。

这是我的HTML:

<div class="">
<div class="">
<form id="" class="">
<div class="">
    <p></p>
    <div id="" class="">
        <div class="" style="">
        </div>
    </div>
</div>
<div id="" class="">
    <p><b></b></p>


        <textarea class="styledtextarea" id="comment_content" name="comment_content" onblur="if(this.value=='')this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue)this.value='';" ></textarea>

        <a  href="#" class="button2" type="submit"><span><b>Send<b></span></a>

    </form>
</div>
</div>
</div>

3 个答案:

答案 0 :(得分:3)

this回调函数中使用click时,您引用了触发click事件的对象,在本例中为.button2

执行var comment_content = $(this).find('textarea[name="comment_content"]').val();时,您实际上是在textarea[name="comment_content"]元素中搜索.button2

您需要做的是:

$(".button2").click(function($e) {
    var comment_content = $('textarea[name="comment_content"]').val();
    console.log(comment_content);
});

答案 1 :(得分:0)

请尝试以下

   var comment_content = $(this).find("textarea#comment_content").val();

答案 2 :(得分:0)

根据你的JS代码,textarea是按钮的子元素,我确信不是这样。

请尝试使用此代码(不要在$(this)上使用.find()方法来查找textarea):

<ui-select ng-model="person.selected" theme="select2" class="form-control" title="Choose a person">
            <ui-select-match placeholder="Select or search a person in the list...">{{$select.selected.name}}</ui-select-match>
            <ui-select-choices repeat="item in people | propsFilter: {name:$select.search}">
              <div ng-bind-html="item.name | highlight: $select.search"></div>
              <small ng-bind-html="item.email | highlight: $select.search"></small>
            </ui-select-choices>
          </ui-select>

});