【发布时间】:2014-05-29 19:40:21
【问题描述】:
我有一个简单的表单,除了提交按钮之外什么都没有。我想要做的就是阻止提交表单(我知道这没有任何意义,但这只是为了说明)。所以我正在使用表单的onsubmit 事件和这个事件returns false。这确实有效,但这就是出现“不可理解的行为”的地方。
我可以将return false; 语句与表单的onsubmit 事件相关联,方法是使用内联JavaScript 或将其保存在不同的位置。
<form onsubmit="return false;" id="form1" method="post">
<input type="submit" id="btnButton" value="Submit" />
</form>
现在,上述代码运行良好。见 => http://jsfiddle.net/MccK5/
我什至可以如下修改上面的代码,以使 JavaScript 独立(不显眼)。
--some html markup initially
<form onsubmit="return falsifier()" id="form1" method="post">
<input type="submit" id="btnButton" value="Submit" />
</form>
<script>
function falsifier() {
return false;
}
</script>
--other html markup follows
这里,脚本标签被放置在HTML 标记中的表单之后。
这也有效。见 => http://jsfiddle.net/AfdQ5/
但是当我将JavaScript 转移到另一个地方(例如:外部文件)时,这似乎不起作用。
通过查看inspect 元素中的控制台,我注意到错误falsifier is not defined。
在这里查看 => http://jsfiddle.net/5cR5R/2/
有人能详细说明为什么会这样吗?
【问题讨论】:
标签: javascript html onsubmit forms http-post