我有一个我希望是一个简单易解的问题。
基本上,我有一个包含该函数的javascript块,然后我试图从另一个javascript块(在jQuery $(document).ready函数内)调用它。虽然它在Firefox上工作正常,但我在IE7中收到“对象预期”错误。这可能与范围有关,但我不确定要解决什么问题。 Firebug似乎没有对这个问题给出任何启示。
所以,这是我的功能:
<script type="text/javascript">
//<![CDATA[
function onsite_validate(){
$("#tsp_onsite_form").validate({
errorClass: "form_error",
errorElement: "em",
errorPlacement: function(error, element) {
error.prependTo( element.parent("label") );
},
highlight: function(element, errorClass) {
$(element).addClass(errorClass);
},
unhighlight: function(element, errorClass) {
$(element).removeClass(errorClass);
},
rules: {
fault_found: "required"
},
messages: {
fault_found: "was a fault found?"
},
submitHandler: function(form) {
$.blockUI();
form.submit();
} //ends submit handler
});
}
//]]>
</script>
之后,我有以下内容:
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
onsite_validate();
});
//]]>
</script>
调用onsite_validate();
时会抛出'Object Expected'错误我确信我犯了一个根本性的错误 - 似乎无法发现它!
非常感谢
答案 0 :(得分:1)
error
中的errorPlacement
是什么类型的对象?不完全确定它是否作为jQuery的实例传递,但如果没有,你可能需要解决这个问题。
编辑:刚刚意识到你说它在非IE中运行。我记得在IE7中只有这个错误,并且必须修补jQuery源来处理它。你使用的是什么版本的jQuery,你自己托管它还是使用像GoogleAPI这样的东西?另外,你能提供确切的错误(文件,行等)吗?
答案 1 :(得分:0)
尝试加载相同的javascript文件两次时(在嵌套模板中)我遇到了这个错误。很难识别,因为问题发生在流程的其他地方。
我所说的是错误不一定是该函数,甚至不是代码块。
答案 2 :(得分:0)
听起来你在其中一个回调函数中有一个空引用。
只是为了进行调试,您可以尝试检查每个对象是否为空,并根据需要发出警报以确定哪个对象未设置。
例如,检查这些对象:
element.parent
错误
$(元素)
答案 3 :(得分:0)
在IIS中
Click on your website[LHS]=>Authentication[**Features View on RHS**]=>Enable only Anonymous authentication other should be disabled and click on edit, set Specific user to **IUSR** instead of [IUSR_Servernname] and No password is required