我有一个函数可以在提交之前验证是否已填写某些字段(如果长度> 0)。如果提交失败,我根本不想重定向客户端。现在,我有以下内容:
function onSubmit()
{
if (verify()) //This function will throw alert statements automatically
{
document.getElementById('my_form').submit();
return void(0);
}
else
{
document.getElementById('my_form').action = null;
}
}
然而,如果verify()返回true并不重要,我仍然重定向客户端并擦除她输入的字段。如果必填字段为空,如何将客户端保留在页面上? (我不想失去她目前填写的表格......)
另外,我不能使用光滑的JQuery库,因为它在某些旧版浏览器上不受支持。 (我想抓住最普通的观众。)
答案 0 :(得分:4)
这就是我试图解决的问题:
document.getElementById('my_form').onsubmit = function( e ){
var event = e || window.event;
// function payload goes here.
event.returnValue = false;
if ( event.preventDefault ){ event.preventDefault(); }
return false;
}
也可以与event delegation一起使用。
答案 1 :(得分:3)
将false返回给表单!
<form onsubmit="return onSubmit()">
function onSubmit()
{
if (verify()) //This function will throw alert statements automatically
{
return true;
}
else
{
return false;
}
}
答案 2 :(得分:1)
停止提交表单,从onSubmit返回false