2011-07-31 4 views
0

私はコメントシステムを作っており、各コメントテキストエリアは一意のクラスを取得しています。 マイコード -私はJQueryのテキストエリアの価値を得るのに助けが必要です

$(".ccoomm").click(function() { 
var pid = $(this).attr("id"); 
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); 
     $(this).toggleClass("active"); 
    } 
}); 

})。

私はテキストエリアの値を取得することができません....それは「未定義」と言う

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>"; 
+2

と..?あなたの質問は何ですか? – JohnJohnGa

+0

よく、その質問に...私はテキストエリアの値を得ることができません –

+0

あなたがあなたのコードが何をすべきか、そして今何をしているのかを教えてくれれば助けになるでしょう。 – DonSeba

答えて

0

わからないを選択するためのクラスとして持っているIDを使用しようとはされているあなたは

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

をクリックした要素のIDを取得していますあなたの値の選択にtextareaの後にidを追加すると予想されますか?

今のところ、classを選択しているようです。

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

あなたはid

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

EDIT

第2ラインを変更するには、編集に供給HTMLを見ると、あなたが

にラインを変えることができる場合
var tt = $("textarea.tt").val(); 
+0

いいえ... pid変数は** .ccoomm **ボタンのIDです –

+0

正確に。 'id'を参照するには、そのコード行にある'# 'を使用する必要があります。 –

+0

上記の編集をご覧ください@YASH MATHUR –

0

(これは、その特定のクラスを持つすべてのテキストエリアを選択する手段)TEXTAREAの子孫であり、その特定のクラスを持つすべての要素)

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

あるべき得ます

var tt = $("textarea."+pid).val(); 
0
var pid = $(this).attr("id"); 

、あなたが

0

私には分かりますあなたがクリックした要素のクラスを切り替えるのが好きです。

関数$ .Ajaxの中では、これはclick関数内でこれ以上クリックした要素を参照しません。これを変数に代入し、その変数のみを参照する必要があります。

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"); 
     } 
    }); 
}); 
関連する問題