jQuery loadで取得した内容を、フォームのtextareaにセットするにはどうすればよいのでしょうか?


<現状>
$(function(){
  $("button").click(function(){
   $("div").load("./hoge.php div.test, function() {
    $("ul.piyo").remove();
   });
  })
})
検索したら、valを使うみたいに書いたあったのですが、
使い方が分かりません。
  $("textarea").val("./hoge.php div.test, function() {
とかやったら、評価されずにそのまま「./hoge.php」が文字列で表示されてしまいました。
一旦、変数とかに入れるのでしょうか? どうやって?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/09/04 12:40:09
  • 終了:2012/09/11 12:45:03

回答(1件)

id:a-kuma3 No.1

a-kuma3回答回数4412ベストアンサー獲得回数18032012/09/04 13:40:43

<div id="test"></div>
<textarea id="output"></textarea>

<script type="text/javascript">
$(function(){
  $("button").click(function(){
    $("div#test").load("./hoge.php", null,
        function(response, status, xhr) {   // ★load した結果は、ハンドらの引数で渡される
          $("#output").val(response);       // ★textarea に入れるのは、val メソッド
          $("ul.piyo").remove();
        });
  })
});
</script>

このコードのままだと、hoge.php の結果が、div#test に展開されるので、見えなくしておいたり、とか、いろいろ必要だけど。
jQuery.get の方が、ぴったりくるんじゃないか、と思う。

<textarea id="output"></textarea>

<script type="text/javascript">
$(function(){
  $("button").click(function(){
    $.get("./hoge.php", null,
        function(response, status) {        // ★get した結果は、ハンドらの引数で渡される
          $("#output").val(response);       // ★textarea に入れるのは、val メソッド
        });
  })
});
</script>

どこかの、自分に合ったマニュアルサイトを押さえておいた方が良いと思うな。
http://stacktrace.jp/jquery/api/ajax/load.html
http://stacktrace.jp/jquery/api/ajax/jquery.get.html

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません