2011-02-25 57 views
0

我在ie8上遇到了问题。ie8 submit-> onclick返回true不起作用

即时通讯使用jQuery验证这样的:

$(document).ready(function(){ 
    $("#form_utente").validate({ 

     rules: { 
........ 

然后,我平时我也检查这样的:

function isValid(){ 
    var valid = $("#form_utente").valid(); 
    return valid; 
} 
<input value="<?=_('Invia');?>" type="submit" onclick="return isValid();" /> 

这完全适用于所有浏览器(包括IE7)BOT别在ie8上工作,有人知道为什么?

非常感谢您的帮助

编辑:

FULL JS代码

function isValid(){ 
    var valid = $("#form_utente").valid(); 
    return valid; 
} 
$(document).ready(function(){ 
    $("#form_utente").validate({ 

     rules: { 
      'data[email]': {required:true, remote:base_url+"store/ajax_check", email:true}, 
      'data[password]': {required:true, minlength:6}, 
      'data[password2]': {required:true, equalTo:"#password"}, 
      'data[nome]': {required:true}, 
      'data[cognome]': {required:true}, 
      'data[indirizzo]': {required:true}, 
      'data[comune]': {required:true}, 
      'data[provincia]': {required:true}, 
      'data[cap]': {required:true,digits:true,maxlength:5}, 
      'data[nazione]': {required:true}, 
      'data[telefono]': {required:true,digits:true} 
     }, 
     messages: { 
      'data[email]': {email:"Inserire una email valida.", remote:"Email gi&agrave; registrata"}, 
      'data[password]': {minlength:"La password deve essere pi&ugrave; lunga di 6 caratteri."}, 
      'data[password2]': {equalTo:"Le password non coincidono"}, 
      'data[nome]': {}, 
      'data[cognome]': {}, 
      'data[indirizzo]': {}, 
      'data[comune]': {}, 
      'data[provincia]': {}, 
      'data[cap]': {digits:"Pregasi inserire un cap valido", maxlength:"Pregasi inserire un cap valido"}, 
      'data[nazione]': {},   
      'data[telefono]': {digits:"Pregasi inserire un numero di telefono valido",maxlength:"Pregasi inserire un numero di telefono valido"} 
     }, 
     success: function(label) { 
      label.html(" ").addClass("checked"); 
     } 

    }); 
}); 
+0

请提供完整的代码... – 2011-02-25 11:50:12

+0

添加完整代码 – 0plus1 2011-02-25 12:51:43

回答

1

@ 0plus1:我觉得你是使用F12(而不是在真正的IE8浏览器)检查IE8模拟器代码。 jquery.validator.js中存在一些问题,因为它会将所有输入字段作为IE8仿真器中必需字段的形式呈现。但在真正的IE8中工作正常。

0

请阅读manual of valid

的validate()需要被调用在检查之前在 表单上使用这种方法

link可以帮助ü

+1

该检查位于函数内部,它始终在初始化验证后被调用。该方法完美工作,如果表单有效,它实际上会返回true。 – 0plus1 2011-02-25 13:47:44