如何在event.preventDefault()之后提交表单
How to submit form after event.preventDefault();?
我使用javascript在加载特定页面时添加此功能。
document.getElementById('commit').addEventListener("click", validateSubmit,
false);
这个validatessubmit方法有一些代码来验证表单数据和它会这样做
function validateSubmit(){
//some code
window.addEventListener('submit', newsubmit, true);
HTMLFormElement.prototype._submit = HTMLFormElement.prototype.submit;
HTMLFormElement.prototype.submit = newsubmit;
}
function newsubmit(event) {
var target = event ? event.target : this;
event.preventDefault();
return false;
}
所以第一次在提交表单时,通过点击它在这个方法中出现,它阻止表单值提交,在修复所有这些值后,当我再次尝试点击提交按钮时,它不起作用,在控制台上,我得到这个错误-
"Uncaught TypeError: Cannot call method 'preventDefault' of undefined"
请帮帮我…
尝试从
更改函数声明function newsubmit(event) {
var newsubmit = function(event) {
如果想将函数作为事件监听器的参数使用,则必须将其声明为变量。
我认为您不需要为了防止用户提交不完整的表单而经历这样的痛苦。试试这个:
<form name="form1" id="form1" onsubmit="return validateForm()" ....>
<input type="text" id="txtName" />
</form>
function validateForm()
{
//CHECK IF FORM FIELDS CONTAIN VALID VALUES?
var formValid=....;//validation logic
return formValid;
}
现在,如果在验证期间您发现任何错误,您将设置formValid
变量为false
,否则,如果所有输入正确,将formValid
设置为true. When form will get
false as return value from
validateForm '函数将不提交
试试这个:
function validateSubmit(){
window.addEventListener('submit', newsubmit, true);
HTMLFormElement.prototype.submit = newsubmit;
HTMLFormElement.prototype._submit = HTMLFormElement.prototype.submit;
}
function newsubmit(event) {
var target = event ? event.target : this;
event.preventDefault();
return false;
}
相关文章:
- 在表单提交将DOM的一部分替换为分部之后,我应该将ajax成功绑定到什么来使我的javascript工作
- 阻止在 jQuery 验证引擎之后提交
- 无法在 jquery.html() 之后将表单提交到 jquery ui 对话框中
- 有没有我可以听的事件发生在表单提交之后,并且在表单通过HTML5验证之后
- 值通过表单提交,然后即使在提交并显示值之后,也会以表单显示已提交的值
- IE9在302之后重新提交表单-可能是由于递归setTimeout()调用
- 表单提交甚至在返回false jquery之后
- jQuery:按钮在.removeClass之后不会提交
- 当我禁用提交按钮(在表单提交之后)时,页面不会加载
- 在只调用了一次函数return false之后,表单并没有进行提交
- 无论如何,在执行entityAspect.acceptChanges之后,知道实体何时完成提交
- JQuery确认对话框,在按下提交按钮之后,但在使用.ajax()发布之前
- 我想在ajaxForm之后做点什么.提交,在哪里放置代码
- 表单提交是提交一次,之后每次加倍
- 在提交表单之前,Javascript在X字符之后删除
- 我如何提交一个表单,并获得与幻影js之后的内容
- 如何在event.preventDefault()之后提交表单
- submit函数在第一次提交jquery之后提交两次,PHP
- 如何在event.preventDefault之后提交表单
- 如何在jQuery模式确认对话框之后提交表单