2011-03-31 2 views
0

jQuery Tools Validator를 rails.js에서 원격 양식 용으로 사용했습니다. if ($ ('form'). data ('validator'). checkValidity())를 호출하여 반환 값이 true이면 호출 유효성 검사를 수행하고 그렇지 않으면 아무것도 수행하지 않습니다. 파이어 폭스 3에서는 잘 작동했지만 파이어 폭스와 크롬의 최신 버전 이후에는 검증을 건너 뛰고 양식을 원격으로 제출했다.레일즈 3 + jQuery - 원격 양식, 필요시 작동하지 않음

기본 검증이

$('form[data-remote]').live('submit', function (e) { 
     $(this).callRemote(); 
     e.preventDefault(); 
    }); 

내 수정

$('form[data-remote]').live('submit', function (e) { 
if($('form').data('validator').checkValidity()) 
    { 
     $(this).callRemote(); 
    } 
    e.preventDefault(); 
}); 

는이 브라우저에서 HTML5 기능에 대한 최신 지원과 함께 할 수있는 뭔가가입니다. 그렇다면 그것의 해결책은 무엇입니까? 긴급한 도움이 필요합니다.

답변

0

..

$('form[data-remote]').live('submit', function (e) { 
    if ($(this).data('validator')) 
     { 
       if ($(this).data('validator').checkValidity()) 
       { 
        $(this).callRemote(); 
       } 
     } 
     else 
     { 

       $(this).callRemote(); 
     } 
     e.preventDefault(); 
}); 
0

나는 ... 나는 바로 그 문제 악화, jqueryTools 자체가 문제가됩니다 데

를이 실제로 정확히 답변하지 않습니다 전혀 대답하지 알고 있지만. JQuery Tools Validation Demo은 FF4에서 작동하지 않습니다.

이 열려있는 내 양식이 브라우저 특정 HTML5 유효성 검사를 무시하는이 속성을 첨부 $('form').attr('novalidate', 'novalidate');보다 원격 호출을 통해로드되면 issue in git hub jquery tools

+0

그래, 그 해결 방법은 ... 그것입니다 문제는 이제 초기화시 .attr ("novalidate", "novalidate")를 포함 시키십시오. 예 : $ (". validationForm"). validator(). attr ("novalidate", "novalidate") – Beccari