我想知道在 JQuery 中这是否可能:
<form id="testform">
<input type="text" id="hi" name="hi" />
<input type="text" id="bye" name="bye" />
<button type="submit" id="submit1">Use Me</button>
<button type="submit" id="submit2">No, Use Me </button>
</form>
$('#testform').submit(function(e) {
e.preventDefault();
var submiturl;
if (e.name === 'submit1') { submiturl = '../sendToFactory.cshtml'; }
else if (e.name === 'submit2') { submiturl = '../sendOverseas.cshtml'; }
$.ajax({
url: submiturl,
data: $('testform').serialize(),
type: 'POST',
datatype: 'json',
success: function (response) {
//stuff
},
error: function (response) {
//error
}
});
});
我知道e.name
不正确,但一定有办法做类似的事情,不是吗?
我使用的是 IE9 及以上版本。
最佳答案
您可以将“type='submit'”更改为“type='button'”,这样它就不会提交表单并监听按钮点击:
$("#testform button[type=button]").click(function (e) {
var submitUrl;
switch ($(e.target).attr('id')) {
case 'submit1':
submitUrl = 'url1.cshtml';
break;
case 'submit2':
submitUrl = 'url2.cshtml';
break;
}
$.ajax({
//...
})
});
关于javascript - 一种表单中有两个提交按钮。提交函数中的事件可以知道是哪一个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26162904/