默认表单提交指的是,利用<input type="submit">或者 <button type="submit">实现的表单提交,
例如,
<form action="<%=contextPath %>/repeat/hello" method="post" >
<input type="submit" value="默认提交 input submit方式" id="morentijiao">
<button type="submit" value="默认提交 button submit方式" id="buttonsubmit">默认提交 button submit方式</button>
</form>
实现思路:同防止ajax重复提交,维护一个提交按钮队列,通过jquery监听所有submit按钮的提交,如果在提交队列中,那么不再提交,如果不再提交队列中,那么放入提交队列,并提交。
实现代码:
扩展了数组的contains方法
Array.prototype.contains=function(element){
var length = this.length;
while((--length) >=0){
console.log(length+"--"+this[length]);
if(this[length] == element){
return true;
}
}
return false;
}
</pre><pre name="code" class="html">//维护默认表单提交的按钮
var defaultButtonSubmitArr = [];
$("input[type='submit'],button[type='submit']").click(function(e){
var id = e.toElement.id;
//如果维护队列中已经包含提交的按钮id,那么就不再进行提交
if(defaultButtonSubmitArr.contains(id)){
e.preventDefault();
}else{
//如果维护队列中没有包含提交的按钮id,那么将它放入队列中
defaultButtonSubmitArr.push(id);
}
//continue as you wish
});
要求:所有的submit按钮都必须赋予id,因为队列中维护的就是提交按钮的id