0

さまざまな docIds を含むリストがあります。情報が送信されると、JQuery 関数が呼び出され、すべてのリスト値が収集されます。次に、これらのリスト値を Ajax 経由で従来の ASP ページに送信し、そこで値をフォーマットしてから、元のページに送り返してテキストエリアに入力する必要があります。これが私のJQueryコードです:

$("#create").click(function() {

    var strDocIDs = $.map($('.doc_list:visible').find('li[value]'), function(li) { return $(li).attr("value") }).join(",");
    alert(strDocIDs);

    $.ajax({
           type: "GET",
           url: "newslettercreate_action.asp",
           data: { strDocIDS: strDocIDs },
           success: function(result) {
               var newsletter_string = $(result);
               $("#scratch").val(newsletter_string);
               }
        }); 
});

そして私の ASP コード:

result = Request("strDocIDs")

テキストエリアに返される情報は次のとおりです。

[object Object]

私のフォームメソッドは現在 POST に設定されています。また、送信ボタンと従来のボタンを使用して関数をトリガーすることは問題になりますか?

4

2 に答える 2

1

で応答をラップしているため、$and になりobjectます。その行を削除すると、ASP ページが何らかのコンテンツを返す場合に機能します。

preventDefaultそして、メソッドを呼び出して、ボタンクリックのデフォルトの動作を停止したい場合があると確信しています

$(function(){

   $("#create").click(function(e) {
      e.preventDefault();

      var strDocIDs = $.map($('.doc_list:visible').find('li[value]'), function(li) { return $(li).attr("value") }).join(",");
      alert(strDocIDs);

       $.ajax({
           type: "GET",
           url: "newslettercreate_action.asp",
           data: { strDocIDS: strDocIDs },
           success: function(result) {              
              $("#scratch").val(result);
            }
       });
   });

});
于 2012-05-24T18:57:08.837 に答える
1

の結果$(result)は jQuery 結果オブジェクトです。これを で設定しようとすると.val()、JavaScript エンジンはそれを としてシリアル化してい[object Object]ます。

問題は、何がresult含まれているはずなのかということです。テキストですか?ジェイソン?HTML? その質問への答えは、それを注入する正しい方法を推進します.

それが単なる文字列の場合は、次のようにする必要があります。

$("#scratch").val(result);
于 2012-05-24T18:57:29.623 に答える