어제 저는 this question을 게시했지만 다른 문제가 있습니다.jquery 플러그인 확인. 한 번만 임의의 성공 메시지를 생성하십시오.
나는 JQuery와 유효성 검사 플러그인을 사용하여 다음과 같은 코드가 있습니다 :
//array of success messages and randomly select one
var messages = ["Good!", "Great!", "Awesome!", "Super!", "Nice!","Yay!", "Success!", "Ok!", "Perfect!","Sweet!" ];
function successMessage(label) {
return messages[Math.floor(Math.random() * messages.length)];
}
그럼 내 유효성 검사 코드의 성공
...success: function(label) {
if(!$(label).hasClass("valid")){
label.addClass("valid").text(successMessage());
}
}...
무엇이 일어나고있는 것은 형태가 유효한 것으로 될 때마다 그 (의 keyup 또는 foucus에) 성공 메시지를 재생성합니다. 나는 클래스가 "valid"클래스를 추가했기 때문에 논리적 인 단계는 레이블에 "유효한"클래스가 있는지 검사하는 것이므로 이미 하나가 있기 때문에 메시지를 추가하지 않는 것입니다. 그러나 이것은 작동하지 않습니다. 다른 아이디어라도 좋을 것입니다.
편집 : 그래서 더 연구하고 생각한 후에. 나는 그 문제가 "valid"클래스가 제거되고, time form이 (keyup, submit, 등등) 검증 될 때마다 추가된다고 확신한다. 가장 쉬운 방법은 label의 값을 선택하는 것이다. 결과가 배열과 일치하는지 살펴보고, 그렇다면 다른 것을하지 않고 성공 메시지를 추가하십시오. 내가 틀렸을 수도있다. 나는 또한 내가 처음으로 그 질문을 가장 잘 표현했다고 생각하지 않는다. 사용자가 입력하는 동안 유효성 검사 메시지가 변경되는 것은 바보처럼 보입니다. 당신이 성공 메시지는 다음 문제가 무엇인지 볼 수 있습니다 계속 입력 얻을 때까지 당신이 필드에 입력하면 설명과 예제 코드에 대한 많은 제안 후
편집 2 나는이 링크 http://jsfiddle.net/Ye3Ls/20/를 게시하고있다. 유효 플러그 인을 찾았습니다 here 모든 환자에게 감사드립니다.
$(label).addClass("valid").text(successMessage());
보다는 : 나는 그것을 당신이 말 뜻처럼 보이는
'이것은 그러나 작동하지 않습니다.' – Reigel
코드 출력에 영향을 미치지 않습니다. – BandonRandon
과 효과가 없다는 것을 의미 ?? – Reigel