1

ボタンのように見えるようにスタイル設定された 2 つのリンク ([保存] と [保存して割り当てる]) を含むページをセットアップしました。

<a id="submit" title="Save">Save</a>
<a id="submit_assign" title="Save & Assign">Save & Assign</a>

JQuery を使用して、各ボタンのクリック イベントをキャプチャし、FORM 送信を実行しています。

$(document).ready(function() {  
    $('#submit').click(function(){
        $(this).parents('form').submit();
    });

    $('#submit_assign').click(function(){
        $(this).parents('form').submit();
    });  

    $("#main_form").on("submit", function (event) {
        //call save function
        //if button clicked was submit_assign, call assign function
    });
});

どちらのボタンも同じ基本機能 (つまり、保存) を実行する必要がありますが、[保存 & 割り当て] ボタンは、保存が成功した後に追加の処理を行う必要があります。どのボタンがフォームの送信を引き起こしたかを特定したいので、それを使用して追加の処理が必要かどうかを確認できます。私の最初の本能は、クリックで送信関数呼び出しを介して変数を渡そうとすることですが、実際の送信関数で変数にアクセスする方法がわかりません。

4

2 に答える 2

3

編集

を使用してこれを行うには、非表示の入力<a>の値をフォームに設定するだけです。

<a id="submit_1">Submit</a>
<a id="submit_2">Save</a>


<form>
    <input type="hidden" name="submit" value="" />
</form>

jQuery:

$("#submit1").on("click", function(){
    $('input[name="submit"]').val("submit");
}
$("#submit1").on("click", function(){
    $('input[name="submit"]').val("save");
}

古い回答

HTML:

<form>
    <input type="Submit" name="submit_1" value="submit_1"/>

    <input type="submit" name="submit_2" value="submit_2"/>
</form>

PHP

if(isset($_GET['submit_1'])){
    // submit one was clicked
}
elseif(isset($_GET['submit_2'])){
    /submit two was clicked
}
于 2013-04-08T15:34:18.680 に答える
0

送信ボタンが実際のボタンである場合、フォームの残りの部分と一緒に渡される属性をそれらに割り当てる<input type="submit">ことができます。namevalue

<input type="submit" id="submit" name="submit" value="Save">
<input type="submit" id="submit_assign" name="submit" value="Save and Assign">

それ以外の場合は、送信を処理する前に新しい<input type="hidden">フォーム要素を作成してみませんか?

$('#submit_assign').click(function(){
    var hidden = '<input type="hidden" name="something" value="somethingelse">';
    $(this).parents('form').append(hidden).submit();
});  
于 2013-04-08T15:35:05.597 に答える