【发布时间】:2011-01-27 19:31:17
【问题描述】:
我的具体问题/问题与实施 Cedric Dugas 的 jQuery 验证插件 (http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/#comments) 的 v1.7 有关,但我相信这个问题很容易推广到其他情况。
通常我会像这样加载以下脚本:
<script src="inc/formValidator/js/jquery.validationEngine.js" type="text/javascript"></script>
然后要初始化插件,我执行以下操作:
<script>
$(document).ready(function() {
$("#myFormID").validationEngine();
});
</script>
我有一个 id 属性值为“myFormID”的表单,脚本验证表单字段。这行得通。
但是,如果我在每个页面上都包含这两位代码,但该页面没有 ID 为 myFormID 的表单,则会收到 null 错误。为了尝试解决这个问题并仅在存在适当的表单时才加载插件,我尝试了这个:
<script>
if($('#myFormID').length)
{
$.getScript('inc/formValidator/js/jquery.validationEngine.js', function() {
alert('Load was performed.');
});
};
</script>
这也很好用。但是,现在我不知道如何初始化验证引擎并将其绑定到表单。为什么这不起作用?
$.getScript('inc/formValidator/js/jquery.validationEngine.js', function()
{
$("#myFormID").validationEngine();
});
我也试过这个:
$.getScript('inc/formValidator/js/jquery.validationEngine.js', function()
{
$("#myFormID").load(function()
{
$(this).validationEngine();
});
});
没有运气。我收到此错误:$("#myFormID") 为空。
想法?我几乎秃顶了。这没有帮助!
【问题讨论】:
-
原来是另一个开发者添加的脚本的原型冲突。
标签: jquery callback null validation getscript