我的电子商务中有一个结帐页面,使用jquery验证,在firefox / chrome中它可以正常工作但在Internet Explorer 8到10中,我收到以下错误:
“object不支持此属性或方法jquery validate”
我已经尝试了旧版本和更新版本的validate和jquery,jquery 1.10,2.0,2.0,它确实适用于IE9和10,但我们需要支持IE8,而jquery 2.0x不再支持。是的,我正确地实例化了validate.js,但根本不起作用!
当我刷新页面时,它在本地工作,但是当我导航到链接时我收到错误,它完全是疯了!
这是我的代码:
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery-1.7.1.min.js"></script>
<script src="https://www.moip.com.br/transparente/MoipWidget-v2.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery-ui-1.10.3.custom.min.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.bgiframe-2.1.2.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.placeholder.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.swfobject.1-1-1.min.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.jqzoom-core.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.meio.mask.min.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.validate.1.8.1.min.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.validate.additional-methods.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jcarousellite_1.0.1.min.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.cycle.all.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.easing.1.3.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.lazyload.min.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.popupWindow.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/jquery/jquery.colorbox.min.js"></script>
<script src="http://192.168.0.24/client/public/template/site/default/javascript/tools/tools.js"></script>
<script>
$(window).load(function(){
$('#identificacao').validate({ // I receive the error in this line
rules: {
email:"required",
senha:"required"
},
messages: {
email:"Por favor, entre com seu e-mail.",
senha:"Insira sua senha."
}
});
这是我的最后一次尝试,我尝试使用验证1.8的1.7版本(在另一个电子商务中工作),并且已经尝试了两者的最后版本,仍然得到错误,我不知道会发生什么,任何人都有相同的错误?
我正在使用这个验证插件: http://jqueryvalidation.org/
答案 0 :(得分:1)
引用OP:
object doesn't support this property or method jquery validate
和
“当我刷新页面时,它在本地工作,但当我导航到链接时,我收到错误,它完全是疯了!”
是的,它是疯了......它是Internet Explorer,它无法与$(window).load()
可靠地协同工作。您对刷新页面的描述是这个常见问题的症状。
请参阅:http://api.jquery.com/load-event/
- 它不能始终如一地工作,也不能可靠地跨浏览器
- 如果图像src设置为与之前相同的src,则无法在WebKit中正确触发
- 它没有正确地冒泡DOM树
- 可以停止为已存在于浏览器缓存中的图片触发
试试这个......
$(document).ready(function() { // fires on DOM ready event
$('#identificacao').validate({
// your rules, options, etc.
});
});
请参阅jQuery DOM ready event handler。
如果由于某些其他原因仍然需要$(window).load()
事件,将它放在DOM就绪处理程序中是完全可以接受的。
$(document).ready(function() { // <- fires when DOM is ready
$(window).load(function() { // <- supposed to fire when all assets have loaded
....
});
});