2012-02-23 5 views
1

캠페인 모니터의 양식을 모바일 사이트에 연결했으며 유효성 검사를 위해 jQuery 유효성 검사를 사용하고 있습니다. 모두 잘 데스크톱 브라우저에서 작동하지만 내 아이폰을 확인할 때 유효성 검사가 작동하지 않습니다.iphone에서 jQuery 유효성 검사가 작동하지 않습니다.

저는 JQuery를 사용한 경험이 없기 때문에 어떤 도움을 주시면 감사하겠습니다.

미리 감사드립니다. 다음과 같이

라이브 데모 http://files.perfectday.gb.com/internal/stackoverflow/mobile-form/get-your-coupon.php

내 검증 JQuery와 및 형태이다.

$("form").validate({ 
    onsubmit: false 
}); 
:
<script type="text/javascript"> 
    $.validator.methods.equal = function(value, element, param) { 
     return value == param; 
    }; 
    $(document).ready(function(){ 
    $("#subForm").validate({ 
      rules: { 
       math: { 
        equal: <?php echo $randomNumTotal; ?> 
       } 
      }, 
      messages: { 
       math: "Try again!!" 
      } 
     }); 
    }); 
    </script> 


<!-- Form --> 
    <form action="http://perfectday.createsend.com/t/j/s/nyuyh/" method="post" id="subForm"> 

     <div class="name"> 
      <label for="name">Name:<span>*</span></label><br> 
      <input type="text" name="cm-name" id="name" size="25" class="required text-input" /> 
     </div> 
     <div class="nyuyh-nyuyh"> 
      <label for="nyuyh-nyuyh">Email Address:<span>*</span></label><br> 
      <input type="text" name="cm-nyuyh-nyuyh" id="nyuyh-nyuyh" size="25" class="required email text-input"/> 
     </div> 
     <div class="address1"> 
      <label for="Address 1">Address 1:<span>*</span></label><br> 
      <input type="text" name="cm-f-juar" id="Address1" size="25" class="required text-input" /> 
     </div> 
     <div class="address2"> 
      <label for="Address 2">Address 2:<span>*</span></label><br> 
      <input type="text" name="cm-f-juaj" id="Address2" size="25" class="text-input required" /> 
     </div> 
     <div class="city"> 
      <label for="City">City/town:<span>*</span></label><br> 
      <input type="text" name="cm-f-juat" id="City" size="25"class="required text-input" /> 
     </div> 
     <div class="postal"> 
      <label for="postal">Post code:<span>*</span></label><br> 
      <input type="text" name="cm-f-juai" id="postal" size="25"class="required text-input" /> 
     </div> 
     <div class="captcha"> 
      Enter the correct result<span>*</span><br> 
      <input type="text" name="captchaImage" id="sum" value="<?php echo $randomNum ?> + <?php echo $randomNum2 ?>" disabled="disabled" /> 
      <input type="text" name="math" id="math" maxlength="6" /> 
     </div> 
    <input value="submit information" class="submit" type="image" src="images/trans.png" class="get-your-coupon-submit" alt="Submit" > 
    <br> 
    </form> 
+0

사과드립니다. 내가 할 것이다. 시간 내 주셔서 감사합니다. – perfectday

+0

"유효성 검사가 작동하지 않습니다"라고 말하면 무엇을 의미합니까? 내 아이폰과 시뮬레이터와 함께이 두 가지를 시도하고 양식을 제출하면 자바 스크립트 오류가 발생하지 않습니다. 또한 수학 문제 옆에 "다시 시도하십시오"라는 텍스트가 있습니다. 일반적으로 iPhone의 Safari 디버그 콘솔을 켜는 것이 좋습니다. 설정 -> 사파리 -> 고급 -> 디버그 콘솔에서 찾을 수 있습니다. –

+0

유효성 검사를 통해 올바른 정보가 입력 될 때까지 보낸 사람이 제출할 수없는 기능을 의미했습니다. 이 문제는 jquery-1.7.1이 작동하지 않는다는 거짓말을했습니다. 왜 그런지 완전히 모르겠습니다. JQuery v1.3.2가 지금 나에게 효과가있는 것 같다. – perfectday

답변

3

나는 1.9

해결 방법은 제출 양식에 유효성을 검사하지 않는 플러그인을 구성했다 jQuery를 버전 1.6.1+과하는 검증 플러그인 버전과 아이폰에 동일한 문제가 있었다

검증 형식과 프로그래밍 제출

if($("form").valid()){ 
    // post validation code 

    form.submit() 
} 
+0

"프로그래밍 방식으로 제출"부분은 어디에 배치합니까? 어디서든 "form"변수에 액세스 할 수 없으므로 (submitHandler : function (form)). 그리고 그것을 "$ ('form')으로하려고하면 submit()"재발 문제가 있습니다. – PolGraphic

2

(3 년 후 갱신) iPhone 및 jQuery.validate와 관련된 문제도 발견했습니다. 유효성 검사가 적용되었지만 첫 번째 필드가 스크롤되지 않았습니다. 이 문제를 해결하기 위해 방금 .invalidHandler() 메서드를 업데이트하여 다음을 포함하도록 업데이트했습니다.

$("foo").validate({ 
    invalidHandler: function(e, validator) { 
    if(window.navigator.userAgent.match(/iphone/i)) { 
     window.setTimeout(function() { 
     $("html,body").animate({ 
      scrollTop: $(validator.errorList[0].element).offset().top 
     }); 
     }, 0); 
    } 
    } 
}); 
+0

나는 마스크 방법으로 Jquery 비슷한 문제가있다. jQuery ('# zip'). 마스크 ('00 -000 '); 입력 텍스트를 가리는 내 코드입니다. 이 것은 안드로이드에서 작동하지만 '-'문자열을 추가 한 후 ios에서 작동합니다. 00-123을 입력하려면 ios에서 00-321로 작성하십시오 이 사소한 문제에 대해 도움을 줄 수 있습니까? –

관련 문제