基于javascript事件提交表单
我想要的是,当用户按下tab或enter等键(即,这会使他失去焦点)时,能够提交表单。在文本字段外单击也会触发提交。但是,当他点击“取消”按钮时,应该会阻止提交 html结构如下所示基于javascript事件提交表单,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我想要的是,当用户按下tab或enter等键(即,这会使他失去焦点)时,能够提交表单。在文本字段外单击也会触发提交。但是,当他点击“取消”按钮时,应该会阻止提交 html结构如下所示 <form id="form"> <input id="text" onblur="$(this).closest('form').submit();"> <a id"submit">submit</a> <a id"cancel">cance
<form id="form">
<input id="text" onblur="$(this).closest('form').submit();">
<a id"submit">submit</a>
<a id"cancel">cancel</a>
</form>
提交
取消
当前发生的情况是,当用户按enter键时,表单将提交两次,并且只应提交一次。当他按下“取消”按钮时,表格会立即提交并取消
有没有人知道我如何编写一些javascript代码来实现这种行为(的想法是采用jira在线编辑模式,我正试图以类似的方式构造一些东西)保留提交标志以防止表单提交时出现重复。差不多
提交
取消
var submitFlag={};
函数提交表单(id){
如果(!submitFlag[id]){
submitFlag[id]=真;
$('#'+id).submit();
}否则{
//无所事事
//警报(“表格已提交”);
返回;
}
}
我将为您提供另一个解决方案,您可以使用jQuery,它是.change()
。这样,当用户单击input元素时,它将触发.change()事件,您可以在它的回调函数中提交表单。如果用户取消,则您可以正常处理该事件,与单击提交按钮相同
表格:
<form id="form">
<input id="text">
<a id="cancel">cancel</a>
<a id="submit">submit</a>
</form>
.我必须使用提交/取消事件的链接。当他们根据选择触发页面上的ajax刷新时(即,即使用户选择取消,也会发生一些事情,所以我所要做的就是阻止已经在进行的表单提交),可能比板条箱功能更有效,它将在setInterval中提交表单。您可以保存计时器描述符以停止提交并继续按您的需要处理它?很抱歉,我看到您需要链接,更新了我的小提琴。
<form id="form">
<input id="text">
<a id="cancel">cancel</a>
<a id="submit">submit</a>
</form>
$(document).ready(function(){
$('#submit').click(function(e){
e.preventDefault();
//submit the form
console.log('form submitted by button click')
});
$('#cancel').click(function(e) {
e.preventDefault();
//close form?
console.log('cancelled form');
});
$('#text').change(function(){
//submit the form
console.log('form submitted, maybe hide form now?');
});
});