0

私は、ユーザーが好きな量の写真をアップロードできる写真アップロード システムを持っています。次に、各写真に説明を追加して、写真を公開できるようにします。私はこれを部分的に行っています。また、jQueryでフォームを送信します。今、私がどのように行うべきかを理解するのに苦労しているのは、すべてのフォーム要素をphpファイルに送信し、各写真を更新して説明を追加することです。

<form class="upload-results-form" rel="<?php echo $albumID?>" action="javascript:return false;">
<textarea class="description" name="photoID1"></textarea>
<textarea class="description" name="photoID2"></textarea>
</form>

これで、テキストエリアが 1 つまたは 20 になる可能性があることを除いて、どのようにセットアップするかという考えについてです。

これらを保存して公開するために、次のような jQuery を使用しています。

$("body").on("submit", ".upload-results-form", function(){

    $.ajax({
    type: "POST",
    url: "ajax/add/photos_publish.php",
    cache: false,
    success: function(html){


    }
    });



});

では、php で各 texarea フォームを通過させ、その写真 ID の説明を保存するにはどうすればよいでしょうか。

4

1 に答える 1

1

問題は、JQuery Ajax が自動的に POST データを作成しないことです。したがって、これを自分で構築する必要があります。JSON オブジェクトを作成して送信する (そしてjson_decodePHP で使用する) か、URL コード化されたフォーム データを作成て PHPで通常の_POST配列を取得することができます。

var _photoID1 = $('#my_form_id').find('input[name="photoID1"]').val();
var _photoID2 = $('#my_form_id').find('input[name="photoID2"]').val();

JSON メソッド:

var data = { photoID1 : _photoID1, photoID2 : _photoID2 };

$("body").on("submit", ".upload-results-form", function(){
   $.ajax({
     type: "POST",
     data: data,
     url: "ajax/add/photos_publish.php",
     cache: false,
     success: function(html){  }
   });
});

このメソッドでは、に設定するヘッダーを追加することができContent-Typeますapplication/json

フォーム POST メソッド:

var post_data = "photoID=" + encodeURIComponent(_photoID1)
                + "&photoID2=" + encodeURIComponent(_photoID2);

$("body").on("submit", ".upload-results-form", function(){
   $.ajax({
     type: "POST",
     data: post_data,
     url: "ajax/add/photos_publish.php",
     cache: false,
     success: function(html){  }
   });
});

どちらの方法でも、データをサーバーに取得できます。

(上記のコードは完全にはデバッグされていませんが、基本的には正しいです。)

于 2012-09-25T05:01:44.400 に答える