我有一个页面设置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;分配按钮需要在成功保存后进行额外处理。我想确定哪个按钮导致表单提交,所以我可以使用它来查看是否需要额外的处理。我的第一直觉是尝试通过点击中的提交函数调用传递变量,但我不确定如何在实际的提交函数中访问它。
答案 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">
按钮,则可以为其分配name
和value
属性,这些属性将与表单的其余部分一起传递:
<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();
});