第一种情况:
页面大致结构
<form id="form1" method="post">
<div class="form-actions">
<input type="submit" class="btn btn-info" id="isread" value="提交" />
</div>
</form>
js代码
$(function () {
$('#isread').click(function () {
if(true)
{
return false;
}
return true ;
})
})
第二种情况
页面大致结构
<form id="form1" method="post">
<div class="form-actions">
<input type="submit" class="btn btn-info" id="isread" οnclick="return fnSubmit()" value="提交" />
</div>
</form>
js代码
function fnSubmit() {
if(true)
{
return false;
}
return true ;
}
第三种情况
页面代码
<form id="form1" method="post" οnsubmit="return fnSubmit()">
<div class="form-actions">
<input type="submit" class="btn btn-info" id="isread" value="提交" />
</div>
</form>
js代码和第二种情况一样
第四种情况
类似第一种情况,不把提交按钮设置为submit,通过设置onclick事件,在js方法中调用form.submit()进行提交
onclick执行优先于onsubmit,当onclick后为true,而onsubmit为false时还是不会提交
ajax的async属性
async: false,(默认是true);
如上:false为同步,这个 方法中的Ajax请求将整个浏览器锁死,
只有方法执行结束后,才可以执行其它操作。
当async: true 时,ajax请求是异步的。但是其中有个问题:方法中的ajax请求和其后面的操作是异步执行的,那么当方法还未执行完,就可能已经执行了 ajax请求后面的操作,
20190328补充
今天碰到一个表单提交的问题,我在网上搜了很多方法都不管用,后来想到我写过关于表单提交的文章,翻了一下,然后测试没问题,然后开始找原先用的方法失败的原因
<form>
<button class="" id="ces" οnclick="submit()" >登录</button>
</form>
错误代码如上,网上说的阻止表单提交的方法有说加上type="button" ,试了不管用
也有说onclick方法中return false,和我上面文章的第二种情况一样还是不行
按照第三种情况的方法测试也不对
最后发现问题在于方法名称不对,不能用submit,改成其他名称后这些方法都可以用了
20190728补充
今天提交表单时return false了表单还是提交,验证方法里面有ajax方法,在验证方法最上面写return false才管用,最后把button按钮中type改为button,再加onclick方法,然后在验证方法中成功后写form.submit();