1

JFormer を使用してフォームを作成しており、json_encode($formValues) を使用してデータを表示できますが、サーバーで $formValues を取得できません。

   var fvalue = <?php json_encode($formValues) ?>;
   var ftarget = "http://home.server.com/regcreate.php?data=";
   var a = document.createElement("script");
   a.type = "text/javascript";
   a.src = ftarget + fvalue;
   document.body.appendChild(a);

値が単純な場合、これは機能します。json_encode($formValues) を送信しようとしても機能しません。何も送信しません。私はこれを正しい方法で行っていますか?json_encode の代わりに Jquery シリアル化関数を使用できますか?

4

1 に答える 1

1

こんにちは、Jquery を使用している場合は、フォームをシリアル化し、Ajax フォーム POST を使用して送信できます。これは PHP シリアライズ オブジェクトではないことに注意してください。通常の $_POST としてフォームの値にアクセスできます。

$('#btnId').click(function () {       

    $.ajax({
        //this is the php file that processes the data and send mail
        url: "regcreate.php",

        //GET method is used
        type: "POST",

        data: $("#Form").serialize(),
        //Do not cache the page
        cache: false,

        //success
        success: function (html) {             
            //assuming that pgp page returns value boolean value
            if (html=='1') {                 
                //add success message
            } else alert('Sorry, unexpected error. Please try again later.');              
        }      
    });
}); 
于 2012-11-02T15:43:02.080 に答える