确定提交表单的链接

时间:2013-04-08 15:30:21

标签: jquery forms hyperlink submit

我有一个页面设置w /两个链接的样式看起来像按钮 - 保存和保存&分配:

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

我正在使用JQuery捕获每个按钮的click事件并执行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
    });
});

两个按钮都需要执行相同的基本功能(即保存),但Save&amp;分配按钮需要在成功保存后进行额外处理。我想确定哪个按钮导致表单提交,所以我可以使用它来查看是否需要额外的处理。我的第一直觉是尝试通过点击中的提交函数调用传递变量,但我不确定如何在实际的提交函数中访问它。

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分: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();
});