2

HTML「フォーム」に2つの送信ボタンがあります。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<input type="text" name="field1" id="field1" />
<input type="text" name="field2" id="field2" />
<form id="form1" action="" method ="post">
<input type="submit" value="check data" id="checkdata" name="checkdata" /><p>
<input type="submit" value="download" id="download" name="download" /><p>

ajax呼び出しによって、「同じページ」の2つの別々の「php」コードからボタンクリックのクエリ結果を取得する必要があります。最初のボタンのスクリプトはありますが、別の php コードを参照する必要がある 2 番目のボタンのクエリを割り当てるのに問題があります。

$(document).ready(function(){
    $("#checkdata").click(function(){
        var field1 = $("#field1").val();
        var field2 = $("#field2").val();
            var datastr ='&field1=' + field1 + '&field2=' + field2;
            $("#response").css("display", "block");
            $("#response").html("setting parameters... ");
            $("#response").fadeIn("slow");
            setTimeout("send('"+datastr+"')",2000);
        return false;
    });
});
function send(datastr){
    $.ajax({    
        type: "POST",
        url: "some_php_code.php",
        data: datastr,
        cache: false,
        success: function(html){
        $("#response").fadeIn("slow");
        $("#response").html(html);
        setTimeout('$("#response").fadeOut("slow")',2000);
    }
    });
}

これについてのヒントを教えてください。または、それを行う他の方法はありますか?

(あなたが私に紹介する可能性のある関連するすべての質問を確認しました。この質問のように、1つのajax呼び出しのみに関連しています jQueryは、2つの送信ボタンを備えたajaxフォームを送信します

4

1 に答える 1

1

次の関数を追加するだけです。

$(document).ready(function(){
    $("#download").click(function(){
        var field1 = $("#field1").val();
        var field2 = $("#field2").val();
            var datastr ='&field1=' + field1 + '&field2=' + field2;
            $("#response").css("display", "block");
            $("#response").html("setting parameters... ");
            $("#response").fadeIn("slow");
            setTimeout("send('"+datastr+"')",2000);
        return false;
    });
});

またはより良い:

    $(document).ready(function(){
        $("#checkdata").click(function(){
            SendData();
        });
        $("#download").click(function(){
            SendData();
        });
    });



function SendData() {

    var field1 = $("#field1").val();
    var field2 = $("#field2").val();
    var datastr ='&field1=' + field1 + '&field2=' + field2;
    $("#response").css("display", "block");
    $("#response").html("setting parameters... ");
    $("#response").fadeIn("slow");
    setTimeout("send('"+datastr+"')",2000);
    return false
}

h番目

于 2012-08-28T04:10:45.047 に答える