Javascript 我需要帮助在JQuery中获取textarea的值

Javascript 我需要帮助在JQuery中获取textarea的值,javascript,jquery,html,Javascript,Jquery,Html,我正在制作一个评论系统,每个评论文本区域都有一个独特的类。 我的代码- $(“.ccomm”)。单击(函数(){ var pid=$(this.attr(“id”); var tt=$(“textarea.+pid).val(); var email=$(“#隐藏”).val(); var data=“pid=“+pid+”&text=“+tt+”&email=“+email; $(“#flash”).show(); $(“#flash”).fadeIn(500).html('Loading…'

我正在制作一个评论系统,每个评论文本区域都有一个独特的类。 我的代码-

$(“.ccomm”)。单击(函数(){
var pid=$(this.attr(“id”);
var tt=$(“textarea.+pid).val();
var email=$(“#隐藏”).val();
var data=“pid=“+pid+”&text=“+tt+”&email=“+email;
$(“#flash”).show();
$(“#flash”).fadeIn(500).html('Loading…');
$.ajax({
类型:“POST”,
url:“comments.php”,
数据:数据,
cache:false,
成功:函数(html){
$(“.coments”+pid).append(html);
$(“#闪光”)。淡出(100);
美元(“#tt”).val(“”);
$(“.comments”+pid).slideToggle(100);
$(此).toggleClass(“活动”);
}
});
}))

我无法获取textarea值。。。。上面写着“未定义”

html/php-

echo <li><textarea cols='20' rows='1' class='tt' id='".$comid."' placeholder='Comment..'/></textarea><input type='submit' value='Comment' id='ccoomm' class='".$comid."' /></li>";
    echo "</ul>";
echo
  • ”; 回声“”;
    我认为您在这行上加了一个额外的空格(这意味着获取具有该特定类的所有元素,这些元素是textarea的后代)

    应为(这意味着选择该特定类的所有文本区域)

    您正在获取单击的元素的ID

    var tt = $("textarea ."+pid).val();
    

    您正试图使用您获得的ID作为类来选择

    不确定,但您是否希望在值选择中的
    文本区域
    之后添加一个
    ID

    现在,看起来您正在选择一个

    var pid = $(this).attr("id");
    var tt = $("textarea ."+pid).val();
    
    如果需要
    id
    将第二行更改为

    var tt = $("textarea#"+pid).val();
    
    编辑

    查看您在编辑中提供的HTML,您可以将行更改为

    var tt = $("textarea.tt").val();
    

    在我看来,您希望切换所单击元素的类

    在函数$.Ajax中,这不再指您单击过的元素,因此在单击函数中,您应该将其分配给一个变量,并仅指该变量

    echo <li><textarea cols='20' rows='1' class='tt' id='".$comid."' placeholder='Comment..'/></textarea><input type='submit' value='Comment' id='ccoomm' class='".$comid."' /></li>";
    echo "</ul>";
    
    echo
  • ”; 回声“”;

    $(“.ccomm”)。单击(函数(){
    var self=这个;
    var pid=$(self.attr(“类”);
    var tt=$(“textarea#“+pid).val();
    var email=$(“#隐藏”).val();
    var data=“pid=“+pid+”&text=“+tt+”&email=“+email;
    $(“#flash”).show();
    $(“#flash”).fadeIn(500).html('Loading…');
    $.ajax({
    类型:“POST”,
    url:“comments.php”,
    数据:数据,
    cache:false,
    成功:函数(html){
    $(“.coments”+pid).append(html);
    $(“#闪光”)。淡出(100);
    美元(tt).val(“”);
    $(“.comments”+pid).slideToggle(100);
    $(self.toggleClass(“活动”);
    }
    });
    }); 
    
    和。。?你的问题是什么?嗯,这是个问题…我无法获得textarea值。如果你告诉我们你希望你的代码应该做什么,以及它现在正在做什么,那会很有帮助。向我们展示html,这样我们就可以帮你显示.cComm元素和textarea?准确地说。要引用
    id
    ,您需要使用该行代码中的
    #
    而不是
    。明白了。您是否尝试过
    var tt=$(“textarea#“+pid).val()
    var pid = $(this).attr("id");
    var tt = $("textarea ."+pid).val();
    
    var tt = $("textarea#"+pid).val();
    
    var tt = $("textarea.tt").val();
    
    echo <li><textarea cols='20' rows='1' class='tt' id='".$comid."' placeholder='Comment..'/></textarea><input type='submit' value='Comment' id='ccoomm' class='".$comid."' /></li>";
    echo "</ul>";
    
    $(".ccoomm").click(function() {
        var self = this;  
        var pid = $(self).attr("class");
        var tt = $("textarea#"+pid).val();
        var email = $("#hidden").val();
        var data = "pid=" + pid + "&text=" + tt + "&email=" + email;  
    
        $("#flash").show();
        $("#flash").fadeIn(500).html('<img src="wamp.gif" /> Loading...');
        $.ajax({
            type: "POST",
            url: "comments.php",
            data: data,
            cache: false,
            success: function(html) {
                $(".coments"+pid).append(html);
                $("#flash").fadeOut(100);
                $( tt ).val("");
                $(".comments"+pid).slideToggle(100);
                $(self).toggleClass("active");
            }
        });
    });