2016-03-23 9 views
1

textareaの値を取得する際に問題が発生しています。このidにはデータベースの値が入力されています。 jQueryでどのように入手できますか?idが不明な場合のテキストエリアの値を取得

私は textareaを得る
function updateTextarea(textarea, updateUrl) { 
    var field = textarea.attr("data-field"); 
    var id = textarea.attr("data-id"); 
    var fieldValue = document.getElementById(id).value; 
    textarea.val("Aktualisiere..."); 
    textarea.attr("readonly", "readonly"); 

    jQuery.post(updateUrl, jQuery.param({ 
     bid: id, 
     bfield: fieldValue 
    }), function(data) { 
     textarea.empty(); 
     textarea.val(data); 
     textarea.removeAttr("readonly"); 
    }); 
} 

$('.arrivalssuper_row').on('focus', 'textarea[data-field="SONSTVEREINBARUNGEN"]', function(e) { 
    var textarea = $(e.target); 
    updateTextarea(textarea, 'ajax/super_departures_sonstVereinbarungen.php'); 
}); 

私がこれまで試してみました:

var fieldValue = textarea.val(); //didnt work 
var fieldValue = textarea.value; //didnt work 
var fieldValue = document.getElementById(id).value; //didnt work 

を私は何ができますか?何か案は?

+0

多くのアイデアを、のようなSTHを使用すると思いますが、あなたがアクセスすることができますが、いくつかのマークアップを表示する必要がありますそれは親、兄弟などを通して。 – Gacci

答えて

1

使用

var textarea = $(this); 

console.log(textarea.text()); 

それは "値" 属性を返すようヴァルは動作しません。

ああ、私はここで私たちがアヤックスを話していることを見落としたと思う。物事はtextarea変数は、ajaxコールバック関数の範囲に存在しませんです。自動的にテキストエリアにIDを割り当てることを考慮する必要があります(またはその項目の他の属性ですが、それは一意でなければなりません)。そのidをajaxリクエストとともに渡し、ajaxコールバックに返します。それから、idでテキストエリアをもう一度得ることができます。

このような何か:

$.post(updateUrl, {bid: id, bfield: fieldValue}, function(data){ 
    $('textarea.'+data.id).text(data.value); 
}, 'json'); 

そして、あなたのサーバーにあなたは(PHP)実際に

die(json_encode(array('id' => $_POST['bid'], 'value' => 'whatever'))); 
+0

それでも私に空のテキストを与えます – BRG

+0

編集して、これを( 'focus' ... function(){...}) – Eihwaz

+0

でもまだ私に空の価値を与えています。 – BRG

1

textareaは、それらの値の属性を持っていない、彼らは、開始タグと終了タグの間に自分の価値を持って、次の

var fieldValue = textarea.text(); 

を試してみてください。

+0

はまだ私に空のテキストを与えます – BRG

+0

あなたはあなたのHTMLスニペットを共有できますか? –

+0

_textarea.val(); _も動作するはずです。 –

関連する問題