【问题标题】:What can cause an onSubmit="return checkTheForm()" not being executed?什么会导致 onSubmit="return checkTheForm()" 没有被执行?
【发布时间】:2014-05-10 12:51:25
【问题描述】:

我知道我知道;互联网上有alotofposts关于这个。我知道我需要使用<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/

我的问题是我从来没有看到警报,即使我认为我正在关注互联网上的所有教程。有没有人知道我在这里做错了什么?

欢迎所有提示!

【问题讨论】:

标签: javascript jquery html forms validation


【解决方案1】:

那个问题只是一个 JsFiddle 问题。在 JsFiddle 中声明的函数会自动包装在它们自己的范围内,因此它们不是全局的,因此对 onsubmit 属性中声明的代码不可见。如果你强制该函数是全局的,它将起作用:

window.validateBuyForm = function() {
    alert('we are validating!!');
    return false;
}

Update fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 2022-11-03
    • 2012-12-25
    • 1970-01-01
    • 2011-03-28
    相关资源
    最近更新 更多