2012-07-12 4 views
0

bassistance validate plugin으로 유효성이 검사 된 양식이 있습니다. 그것은 모두 (잘 플러그인)하지만 잘 작동하지만 양식이 유효 때까지 제출 버튼을 비활성화하고 싶습니다.양식이 유효 할 때까지 제출 단추를 사용하지 마십시오.

저자 Jörn Zaefferer (read comment here)에 따르면 모든 필드의 유효성을 추적 한 다음 버튼을 활성화해야합니다.

그래서 나는 먼저 클래스 이름이 'required'인 모든 필드를 찾고 'valid'클래스가 있는지 확인한 다음 버튼을 사용 가능하게 설정한다고 가정합니다. 012HPR

나는 proposed here 인 타이머 기법을 사용하여 '유효한'클래스를 듣기 위해 입력 필드를 바인딩하려고 시도했다.

function doneTyping() { 

var requiredFields = $('input').hasClass('required'); 

$(requiredFields).each(function(){ 
    if ($(this).hasClass('valid')){ 
     console.log('form is valid, enable button here'); 
    } else { 
     console.log('form is not valid yet'); 
    } 
}); 

}

: 다음과그러나 내 코드가 작동하지 않습니다 ... 누군가 올바른 방향으로 가고 있는지 말해 줄 수 있습니까?

+0

때'doneTyping' 기능 불을합니까? –

답변

2
function doneTyping() { 

var requiredFields = $('input.required'); 

    if ($("input.required:not(:valid)").length){ 
     console.log('form is not valid, disable button here'); 
    } else { 
     console.log('form is valid '); 
    } 

} 
+0

답장을 보내 주셔서 대단히 감사드립니다. 나는 거의 그것을 지금 일하고있다 :) 내 textarea에 지연의 일종 것 같다. 누군가가 너무 친절 해 보이면 jsfiddle에 코드를 업로드했습니다. (내 fugly CSS를 신경 쓰지 마) http://jsfiddle.net/WYB6N/3/ 많은 감사! – Emma

+0

그래, 왜 지연이되는지 알았어. 블러 이벤트가 발생할 때까지 유효성 검사 클래스가 추가되지 않았다. 이제이 문제를 해결할 방법을 찾아야합니다! – Emma

0

당신은 양식을 통해 UR 플러그인

alert (($("#Form1").validationEngine('validate'))); 

이 당신에게 참 또는 거짓 값을 줄 것이다에 따라 아래의 아이디어를 사용하여 유효한지 확인하고, 당신이 보여줄 수있는 기반 또는 버튼을 숨길 수 있습니다 .

는 처음 사용하는 버튼을 숨길 수 :

$(document).ready(function() 
{ 
    $("#ButtonSubmit).hide(); 
} 
+0

틀린 유효성 검사 플러그인, 죄송합니다! :) – Ryley

+0

@Ryley 다른 사람들에게 도움을 청하는 것과는 달리 그녀에게 아이디어를주는 것뿐이었습니다 .gr8 job – osaka

+0

글쎄,이 문제를 해결하는 방법을 모르겠지만, 당신의 대답은 완전히 다른 플러그인을 사용하는 것이 좋습니다. 그래서 당신의 대답은 기껏해야 쓸데 없으며, 최악의 경우 오도하는 것입니다. 그게 [downvotes] (http://stackoverflow.com/faq#behonest)에 대한, 그것은 아무것도 개인이야! – Ryley

관련 문제