1

私はjqueryの勉強に一日を費やしました。これができると思うからです。ペイパルフォームがあり、「onClick」ボタンでこのフィールドをSQLテーブルに送信したい

<input type="hidden" name="amount" id="amount" value="0.05">

その間、私のPayPalボタンはこれを行っています:

<input class="btn btn-primary" onClick="send()" type="submit" value="Subscribe">

この値をprocess_plan.phpに渡すにはどうすればよいですか?これまでのところ私はこれを持っていますが、ぶら下がっていて機能していません。

function send() {
    var id = $('#amount').val();
    var result;
    $.ajax({
        type: "POST",
        url: "process_plan.php",
        data: {
            "amount" : amount
        },
        async: true,
        dataType: "html",
        success: function(response) { 
            result = response;
        },
        error: function(response) {
            alert("Oh no! An error occured!");
        }
    });
    return result;
}

コードが本当に不安定な場合はお詫びします。JqueryとAjaxについて勉強した最初の日です。

4

3 に答える 3

1

それが問題かどうかはわかりませんが、コードに少し間違いがあると思います。

してみてください : ... data: { amount : "amount" }, ...

その金額も変数の場合は、「

于 2012-09-21T21:13:31.750 に答える
1

firefoxまたはfiddler用のfirebug(http://www.fiddler2.com/fiddler2/)などのツールを使用して、要求と応答を確認します。コミュニケーションがどのように進んでいるかがわかります。

とはいえ、ぶら下がっていません。send()関数は非同期で値を送信しています。つまりfunction send()、ajax呼び出しが行われている間にが返されます。関数が戻るまでに設定される結果を信頼することはできません。これが、呼び出しにコールバック関数がある理由です。

success: function(response) { 
            result = response;
        },

これは、呼び出しが完了した後、通常は元の関数が完了した後に実行されます。実際の動作を確認するには、次のように変更します。

success: function(response) { 
            window.alert("Response: " + response);
        },

次に、フォームを選択して手動で送信を呼び出すことにより、成功機能でフォームの送信に進むことができます。

success: function(response){
    $('#form-id').submit(); 
}

ajaxの癖の詳細については、次のmsdnを参照してください:https ://developer.mozilla.org/en-US/docs/AJAX

変数はどこでamount定義されていますか?id代わりに使用したいと思っています。

data: {
            "amount" : id
        },
于 2012-09-21T21:14:53.767 に答える
1

別の間違いがあると思います!変数「id」をフィールドの値に設定してから、未定義の変数「amount」を投稿のデータで送信します。これはそれを修正します:

var amount = $('#amount').val();
于 2012-09-21T21:16:46.867 に答える