2014-02-19 2 views
0

IE11 및 Jquery Validator과 관련하여 흥미로운 문제가 있습니다. 그것은 input type = "email"과 input type = "password"에서 같은 문제가 발생하기 시작합니다. BESIDES 입력 텍스트가 있으면 기본 오류 메시지 Please enter a value that is greater or equal to undefined이 발생합니다.Jquery Validator를 사용하여 IE11에서 비밀번호 유효성 검사가 중단됩니다.

그래서, 이메일의 입력 유형을 변경하는 첫 번째 인스턴스에서 근무 텍스트,하지만 난 텍스트로 암호 유형을 변경할 수 없습니다 - 내가 암호를 표시하지 않으 ...

I을 왜 이런 일이 일어나고 있는지, 또는 정의되지 않은 변수가 어디에서 왔는지, 심지어 어떻게 찾아야할지 모를 일이 있습니다. 어떤 제안? 아래

코드 : 실수로

$.validator.addMethod("valid_pass", function(value, element, regexpr) { 
        return this.optional(element) || regexpr.test(value); 
       }, "Your password must be between 8-15 characters and contain at least 1 number."); 

$("#element1").validate({ 
        errorPlacement: function(label, element) { 
         label.appendTo(element.parent('td').siblings('td')); 
        }, 
        rules: { 

         password: { required: true, valid_pass: /^(?=.*\d).{8,15}$/ }, 
         password2: { required: true, equalTo: "#password" } 
         }, 
        messages: { 

         password: { required: "Create a password." }, 
         password2: { 
          required: "Re-enter your password.", 
          equalTo: "Your passwords do not match." 
         } 
        } 
       }); 

<tr> 
          <td class="align-right"> Password: <a class="tooltip ml5" title="Password must be between 8-15 characters &amp; include at least 1 number">(?)</a></td> 
          <td><input type="password" id="password" name="password" maxlength="15" tabindex="9"/></td> 
         </tr> 
         <tr> 
          <td class="align-right"> Confirm password: </td> 
          <td><input type="password" name="password2" maxlength="15" tabindex="10"/> 
          </td> 
         </tr> 

답변

0

, 나는 증상을 해결할 수있는 솔루션을 찾았지만 그것은 것으로 보인다

... 온 NOT 곳 유효성 검사기 자체 (?) 또는 브라우저 (IE11이 Mac에서 사파리 7.0.1을 수행하는 것처럼 보임)에 의해 "min", "max"및 "step"이 입력에 추가됩니다. 암호 입력뿐만 아니라 전자 메일 입력 및 일반 오래된 텍스트 입력 및 확인란에서도 수행했습니다. 왜? 브라우저 신만 알고 있습니다. 이에 대응하기 위해, 나는 최소, 최대, 단계 제거하기 위해 jQuery를 사용하여, 다음과 같은 코드를 실행 해요 :

$('input, radio, textarea,select, checkbox').each(function() { 
    $(this).removeAttr('min max step'); 
}); 

내가 내 $ .ready (문서)를 실행하고있어 마지막 스크립트로를

제거하지 않고 min, max 및 step은 범위 입력의 특성이므로 유효성 검사기는 범위 입력이라고 생각하고 숫자로 계산하려고합니다. 마술처럼 고정되어있다. 이상하지만 작동 ..

관련 문제