2009-06-29 5 views
1

私は<テキストエリア>の内容を変更するために$()。postとphpを使用しています。jquery.post()とphp

スクリプトは成功しています.firebugは、textareaタグの間のテキストが変更されていることを明確に示しています。

ただし、ユーザーには変更が表示されません。 Firefoxでは、変更はまったく起こりません。IEでは、テキストエリアが10秒遅く更新されます。

はここで私が使用しているjQueryの:まず

$(document).ready(function() { 
    $('#pv_list li:first').addClass('hilite'); 
    $("input[name='db_entries']:first").attr('checked', 'checked'); 
    $("input[name='db_entries']").click(function() { 
     $.post("changeEntry.php", {post: $(this).val()}, function(data) { 
      $("textarea").text(data);alert('done'); 
     }); 
     $('#pv_list li').removeClass('hilite'); 
     $(this).parent().addClass('hilite'); 
    }); 
}); 

私はページを検証していなかったので、それはだと思ったが、それは過渡的なXHTML検証します。

本当に私を悩ませているのは、私が以前に働いていて、私が変わったことを理解できないということです。

答えて

3

val()を使ってtext()の代わりにtextareaの値を設定しようとしましたか?

$.post("changeEntry.php",{post: $(this).val()}, 
     function(data) { 
      $("textarea").val(data); 
      alert('done'); 
}); 
+0

Well dang。私はそれが実際にタグ名に "入力"を持っているタグのためだと思った。 うまくいった。ありがとう:) – andrewheins

+0

ちょうどあなたが正常なDOMでそれをやる方法について考える - それはまだtextarea.value - textarea.nodeValueまたはtextarea.dataまたは他のものではありません。 –

5
+2

+1 "Stackoverflow Archive"形式です。 :P –

+1

+1のリンク –

+0

ありがとうございます。 googleでサイト検索を行うのは信じられないほど簡単なので、過去の件名に似た質問に「アーカイブ」の部分を追加しようとしています。 – Sampson

-2

私はわからないんだけど、一つの可能​​性は、あなたがすべきことである。

function(data){ 
    $("textarea").attr("value",data); 
    alert('done'); 
} 
0

load()機能を使用する方が簡単ではないでしょうか?

$("input[name='db_entries']").click(function() { 
    $("#outputarea").load("?", {"paramName":this.value}); 
}); 
+0

なぜですか? ' – Sampson

+0

onclickハンドラの目的は、textarea要素の内容を設定することですね。そしてそれがload()のやり方です。 – VolkerK

関連する問題