누군가 두 사람 중 누가 가장 좋고 왜 그런지 설명 할 수 있습니까? 또는 더 나은 옵션이있는 경우. 은 jQuery로 입력을 검증하는 가장 좋은 방법입니까? onChange/onKeyUp. 아니면 다른 무엇입니까?
도 거기를 keyDown, 흐림, 변화 ..."왜"매우 importan입니다 같은 다른 옵션을 제공합니다. 고마워.
누군가 두 사람 중 누가 가장 좋고 왜 그런지 설명 할 수 있습니까? 또는 더 나은 옵션이있는 경우. 은 jQuery로 입력을 검증하는 가장 좋은 방법입니까? onChange/onKeyUp. 아니면 다른 무엇입니까?
도 거기를 keyDown, 흐림, 변화 ..."왜"매우 importan입니다 같은 다른 옵션을 제공합니다. 고마워.
onKeyUp
을 입력하면 모든 키를 누를 때마다 검증 루틴이 실행됩니다. @ APAD1에 언급 된대로 setTimeout
을 사용하면 실행 가능할 수 있지만 시간에 따라 사용자는 유효성 검증 루틴 전에 필드를 떠날 수 있으며 양식이 유효성 검증 루틴 전에 제출되었는지 여부에 따라 달라질 수 있습니다. 이것은 또한 매우 무거울 수 있습니다. 나는 일반적으로 onKeyUp
만을 사용하여 개별 키를 확인하고 삼킬 수있다. 유효성을 검사 할 최종 입력을 기다리는 경우 onChange
또는 onBlur
을 사용하십시오.
onChange
은 $ (": 입력") 선택기 (예 : 라디오, 선택, SLE 등)가 선택하는 모든 입력란에서 작동합니다. 이 옵션은 출근 할 때 유효성을 검사 할 때 유용하지만 필드를 다시 초점 맞추고 잘못된 내용을 지운 경우에만 작동합니다. 그렇지 않으면 오류를 무시하고 계속 진행할 수 있습니다. 내용을 변경하지 않으면 유효성 검사가 실행되지 않습니다.
onBlur
은 입력이 완료되고 필드의 초점이 사라지 자마자 유효성을 검사하려는 경우 매우 유용합니다. 사용자에게 오류를 어떻게 알리는 지에 따라이 방법을 사용할 때주의해야합니다. 현장에 초점을 다시 맞추는 것과 같은 경고 나 행동을하는 경우 나쁜 사용자 환경을 만들 수 있습니다.
일반적인 생각 프로세스로서 입력에 대한 즉각적인 유효성 검사를 수행하는 것이 좋지만 차단하지 않는 방식으로 사용자에게 알리는 것이 좋습니다 (예 : 필드 또는 항목 옆에 div 표시). 경우에 따라 사용자가 유효성 검사 메시지를 무시하고 잘못된 정보를 보낼 수 있기 때문에 정보를 보내기 전에 전체 양식의 최종 유효성 검사를 항상 수행합니다.
+1 내 대답의 여러 가지 방법과주의 사항을 설명합니다. – APAD1
제 생각에 onKeyUp은 프로젝트에 따라 더 나은 솔루션입니다. 이것은 사용자에게 입력이 유효한지 여부에 대한 세미 - 인스턴트 표시를 제공 할 수 있기 때문입니다 (입력이 끝나면 입력 옆에 녹색 체크 표시 또는 빨간색 "X"표시 추가) 반면, onChange/blur를 사용하면 입력이 유효한지 여부에 대한 반 - 탭에서 입력을 확인할 때까지 유효성 검사가 표시되지 않습니다.
그러나 keyUp에서 성가신 일이 있기 때문에 즉시 유효성을 검사하지 않으므로이 문제를 해결하는 가장 좋은 방법은 keyUp을 타이머와 함께 사용하는 것입니다. 타이핑이 중지 된 후 1 ~ 2 초가 지나야 유효성을 검사합니다.
당신이 좋아하는 작업을 수행 할 수 있습니다
var doneTypingInterval = 1000; //Validation delay time in ms
$('input').keyup(function(){
clearTimeout(typingTimer);
typingTimer = setTimeout(validationFunction, doneTypingInterval); //replace validationFunction with the name of your function
});
하지만 1-2 초가 지나면 다음 입력으로 쉽게 넘어갈 수있었습니다 --- –
입력 내용의 유효성은 계속 유지됩니다. – APAD1
물론이 방법으로 잘못했음을 말하는 것은 아니지만,이 경우에는 .blur()를 사용할 수도 있습니다. --- 또는 타이머를 <1s로 설정하십시오. –
요소에만 특정 유형 (예를 들어 대한 <SELECT>
)에서 작동 onchange를.
onKeyUp에 그것은 당신이 경기장을 떠나지 때마다 트리거되기 때문에
blur()
아마도 더 나은 "무거운"있는 모든 키를 누를로 평가합니다. 하지만 아직 현장에있을 때 제출 버튼을 클릭하면 어떨까요?
따라서 onsubmit이 가장 적합한 솔루션이거나이 둘을 조합 한 것입니다. 다른 필드에 대해 다른 방법을 평가할 때 아무런 문제가 없으며 제출을 클릭 한 후 다시 확인하십시오.
제출을 클릭하면 버튼에 초점이 맞추어 져 입력이 흐려집니다. – Bic
이 중요한 세부 정보를 보내 주셔서 감사합니다. 보내기 전에 확인하십시오. 정말 좋다. –
'onchange' * 내 작업에서 *에게 알려주기 때문에. (읽기 : 무엇이 필요한지에 달려 있으며, 무엇이 "최고"인지에 달려 있지 않습니다.) 또한 "최고"는 존재하지 않습니다. – Joseph
3 답장을 보내 주셔서 감사합니다. 모두 서로를 보완하고 다른 점을 확인하십시오. 내가 고려하지 않은 것을 보여주었습니다. –
@JosephtheDreamer, 당신이 말하는 것은 사실이지만, 나는 당신이 볼 수 있듯이이 전망을 얻을 필요가있었습니다. 또는 "최선"은 길을 선택할 필요가있을 때 존재할 수 있습니다. 어쨌든 고마워요. –