【发布时间】:2009-11-15 09:21:56
【问题描述】:
我在google上找到了这个forum thread,但是这里好像没有人遇到同样的问题,所以我想知道onsubmit='return false;'在某些IE7浏览器中确实失败了,这意味着自从IE7发布以来,它已经成为一种不可靠的防止直接以ajax形式回传的方法,所以我们需要非常小心使用它?
【问题讨论】:
标签: ajax webforms form-submit
我在google上找到了这个forum thread,但是这里好像没有人遇到同样的问题,所以我想知道onsubmit='return false;'在某些IE7浏览器中确实失败了,这意味着自从IE7发布以来,它已经成为一种不可靠的防止直接以ajax形式回传的方法,所以我们需要非常小心使用它?
【问题讨论】:
标签: ajax webforms form-submit
嗯,在论坛帖子中,我认为他首先弄错了问题。
return false 应该防止直接提交,您先进行验证,然后再进行真正的提交。
通常你会这样:
<form method="post" action="action.html" onsubmit="AmIDoingSomethingWrong(this.form);return false;">
<input type="submit" />
</form>
在你的功能中:
function AmIDoingSomethingWrong(f) {
//validation script here
if(){
//DOM modification/ redirection/whatever on error
}else{
f.submit(); // submit on ok
}
}
现在,使用 jQuery,更清晰,因为您可以在 <script> 标记中拥有所有内容。
【讨论】: