我遇到了一个我希望很容易解决的问题。
基本上,我有一个包含该函数的 JavaScript block ,然后我尝试从另一个 JavaScript block (在 jQuery $(document).ready 函数内)调用它。虽然它在 Firefox 上运行良好,但我在 IE7 中收到“Object Expected”错误。这可能与范围有关,但我不确定要修复什么。 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() 时抛出“预期对象”错误;
我确信我犯了一个根本性错误 - 只是似乎无法发现它!
非常感谢
最佳答案
errorPlacement
中的 error
是什么类型的对象?不完全确定它是否作为 jQuery 实例传递,但如果不是,您可能需要解决这个问题。
编辑:刚刚意识到你说它适用于非 IE。我记得仅在 IE7 中出现此错误,并且必须修补 jQuery 源才能处理它。您使用什么版本的 jQuery,您自己托管它还是使用 GoogleAPI 之类的东西?另外,您能提供确切的错误(文件、行等)吗?
关于javascript - 对象 IE7 中的预期错误 - 函数范围有问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4038146/