6

我无法让这个极其简单的 jsfiddle 工作。它只是应该在单击按钮时提醒测试。我在这里想念什么?

http://jsfiddle.net/u9nG6/2/

4

4 回答 4

8

您必须将加载方法更改为不换行(头部)。

它与如何加载 JavaScript 以及何时读取方法签名有关。http://jsfiddle.net/u9nG6/11/

于 2011-07-25T23:27:14.803 回答
2

选择加载 jQuery 框架,onDomReady因此您的函数被包装在 jQuery 匿名函数中$(function(){ });并且不可见。将 jQuery 更改为加载为no wrap (head)或在全局范围内定义您的函数。

于 2011-07-25T23:29:07.027 回答
2

这里

您需要validateForm在全局范围内定义您的函数,以便能够像这样在 HTML 中使用它。否则,您将其定义为事件范围内的函数,在该范围onDomReady之外无法访问。

更“jQuery-ish”的方法是使用 jQuery 来处理这样的click事件:

$("#id_btnSubmit").click(validateForm);

有关该建议的示例,请参见此处。

于 2011-07-25T23:29:07.387 回答
0

您正在使用 jquery + ondomready。这意味着您编写的任何 javascript 都放置在

$(function() {

});

这会导致范围问题。您可以尝试以下方法。

window.validateForm = function() {
}
于 2011-07-25T23:28:38.417 回答