0

これが私のコードです

    function generate_clicked()
    {
        var txt_text_color = $('#txt_text_color').val();
        var url='process.php?';
        url+='txt_text_color='+encodeURIComponent(txt_text_color);


        $.ajax({
            url: url,
            beforeSend: function ( xhr ) {
            xhr.overrideMimeType("application/json; charset=x-user-defined");
          }
        }).done(function ( data ) {
            try{
                $('#preview').val(data.css);
                $('#my_iframe').srcdoc = data1;
                }
            catch(err)
            {
                console.log(err);
            }
            document.getElementById("my_iframe").src = data.live_preview_html_page;
        });

    }

これは私の目的では機能しますが、別のフォーム要素を追加した場合、面倒なことに var example =$('....').val(); を追加する必要があります。そして url+='example'+endcodeU.....

100 を超える要素がある場合は、次のプロセスでそれらを再検討します

$txt_text_color = $_REQUEST['txt_text_color'];

私の質問は、新しいフォーム オブジェクトを作成するたびにこれらの 2 つの変数名を記述する必要がないように、これをシリアル化するにはどうすればよいか (それが必要だと思います) です。

これらの変数を使用するには、get/post 変数を process.php に保存する必要があります。

これが意味をなさない場合は申し訳ありませんが、私はまだ学んでいます。

4

1 に答える 1

1

form.serialize() http://api.jquery.com/serialize/を試してください

コードは次のようになります。

function generate_clicked()
{
    var formData = $('#form').serialize();
    var url='process.php?';
    url+=formData;


    $.ajax({
        url: url,
        beforeSend: function ( xhr ) {
        xhr.overrideMimeType("application/json; charset=x-user-defined");
      }
    }).done(function ( data ) {
        try{
            $('#preview').val(data.css);
            $('#my_iframe').srcdoc = data1;
            }
        catch(err)
        {
            console.log(err);
        }
        document.getElementById("my_iframe").src = data.live_preview_html_page;
    });

}
于 2013-10-21T21:22:06.480 に答える