我知道我知道;互联网上有关于此问题的a lot of posts。我知道我需要使用<form action="index.html" onSubmit="return checkTheForm()">
但我不明白为什么我写的代码似乎没有用。
在我的HTML中,我得到了以下内容:
<form method="post" action="/index" onsubmit="return validateBuyForm();">
<input id="agreeToTerms" name="agreeToTerms" type="checkbox" /> I agree<br />
<input value="Buy that stuff!!" id="pay" type="submit" />
</form>
在我的js中我得到了这个:
function validateBuyForm() {
alert('we are validating!!');
return false;
}
JSFiddle:http://jsfiddle.net/zx2rx/
我的问题是我从未看过警报,即使我认为我已经在互联网上阅读了所有教程。有没有人对我在这里做错了什么有获胜的提示?
欢迎所有提示!
答案 0 :(得分:2)
这个问题只是一个JsFiddle问题。在JsFiddle中声明的函数会自动包装在它们自己的作用域中,因此它们不是全局函数,因此对onsubmit
属性中声明的代码不可见。如果强制该函数为全局函数,它将起作用:
window.validateBuyForm = function() {
alert('we are validating!!');
return false;
}