Jquery 确定提交表单的链接

Jquery 确定提交表单的链接,jquery,forms,hyperlink,submit,Jquery,Forms,Hyperlink,Submit,我已经设置了一个页面,其中包含两个链接,其样式类似于按钮“保存”和“保存并分配”: <a id="submit" title="Save">Save</a> <a id="submit_assign" title="Save & Assign">Save & Assign</a> 两个按钮都需要执行相同的基本功能(即保存),但成功保存后,“保存和分配”按钮需要执行额外的处理。我想确定是哪个按钮导致表单提交,这样我就可以使用它来查看

我已经设置了一个页面,其中包含两个链接,其样式类似于按钮“保存”和“保存并分配”:

<a id="submit" title="Save">Save</a>
<a id="submit_assign" title="Save & Assign">Save & Assign</a>
两个按钮都需要执行相同的基本功能(即保存),但成功保存后,“保存和分配”按钮需要执行额外的处理。我想确定是哪个按钮导致表单提交,这样我就可以使用它来查看是否需要额外的处理。我的第一反应是尝试通过单击中的submit函数调用传递变量,但我不确定如何在实际的submit函数中访问它

编辑

要使用
执行此操作,只需在表单中设置隐藏输入的值

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


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

旧答案

HTML:


如果您的提交按钮是实际的
按钮,则可以为它们分配
名称
属性,这些属性将与表单的其余部分一起传递:

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

否则,为什么不在处理提交之前创建新的
表单元素呢

$('#submit_assign').click(function(){
    var hidden = '<input type="hidden" name="something" value="somethingelse">';
    $(this).parents('form').append(hidden).submit();
});  
$('submit_assign')。单击(函数(){
var-hidden='';
$(this).parents('form').append(hidden.submit();
});  

那么您是在用javascript处理提交吗?我认为使用“提交”事件没有任何好处。为什么不让
$('#submit')。单击(function(){mysave();})
$('#提交_分配')。单击(函数(){mysaveandassign();})
并编写两个不同的javascript函数
mysave
mysaveandassign
?(其中一个可能会在做了一些事情后打电话给另一个。嗯,这一点很好。我想这可能只是出于一致性的考虑?我们以前做完整表单提交,现在我们正在迁移到更多AJAXy的东西。我会看一看,看是否有任何理由保留提交。谢谢。不幸的是,我无法为他们提供输入。对于您的第二个选择,我想我会检查是否存在隐藏的输入?或者我想我可以一直将其隐藏在那里,然后在单击时更改其值…无论哪种方式--取决于服务器端代码的外观。我会首先检查表单变量的存在,然后检查其值。此外,我需要使用javascript,而不是PHP(不管怎样,我们的服务器端产品是Coldfusion)这是一个很好的解决方案!运行良好,向后兼容。明白了,类似Blazemonger的答案。既然这似乎是共识,我想没有隐藏字段就没有办法做到这一点?除了有两个表单,没有先生。仅供参考,出于某种原因,它无法工作w/
$('input[name=“submit”])。val(“保存”);
-未设置该值。将其更改为
$(“#提交”)。val(“保存”);
仍然有效。
<form>
    <input type="Submit" name="submit_1" value="submit_1"/>

    <input type="submit" name="submit_2" value="submit_2"/>
</form>
if(isset($_GET['submit_1'])){
    // submit one was clicked
}
elseif(isset($_GET['submit_2'])){
    /submit two was clicked
}
<input type="submit" id="submit" name="submit" value="Save">
<input type="submit" id="submit_assign" name="submit" value="Save and Assign">
$('#submit_assign').click(function(){
    var hidden = '<input type="hidden" name="something" value="somethingelse">';
    $(this).parents('form').append(hidden).submit();
});