0
나는 현재 실행중인 컨테스트의 참가 양식에 자바 스크립트 양식 유효성 검사를 사용하고 있습니다. 인라인 CSS이므로 특정 조건을 충족시키지 않으면 "이메일 주소를 입력하십시오"또는 "유효한 이메일 주소처럼 보이지 않습니다"등의 메시지가 빨간색으로 표시됩니다.서버/로컬에서 자바 스크립트 양식 유효성 확인
스크립트 , 이는이 파일의 상단에 앉아는 다음과 같습니다
<script>
function checkForm() {
name = document.getElementById("name").value;
email = document.getElementById("email").value;
terms = document.getElementById("terms").value;
if (name == "") {
hideAllErrors();
document.getElementById("nameError").style.display = "inline";
document.getElementById("name").select();
document.getElementById("name").focus();
return false;
} else if (email == "") {
hideAllErrors();
document.getElementById("emailError").style.display = "inline";
document.getElementById("email").select();
document.getElementById("email").focus();
return false;
}
else if (!check_email(document.getElementById("email").value)) {
hideAllErrors();
document.getElementById("emailError2").style.display = "inline";
document.getElementById("email").select();
document.getElementById("email").focus();
return false;
}
else if (!document.form1.terms.checked){
hideAllErrors();
document.getElementById("termsError").style.display = "inline";
document.getElementById("terms").select();
document.getElementById("terms").focus();
return false;
}
return true;
}
function check_email(e) {
ok = "1234567890qwertyuiop[][email protected]_QWERTYUIOPASDFGHJKLZXCVBNM";
for(i=0; i < e.length ;i++){
if(ok.indexOf(e.charAt(i))<0){
return (false);
}
}
if (document.images) {
re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (!e.match(re) && e.match(re_two)) {
return (-1);
}
}
}
function hideAllErrors() {
document.getElementById("nameError").style.display = "none"
document.getElementById("emailError").style.display = "none"
document.getElementById("commentError").style.display = "none"
document.getElementById("termsError").style.display = "none"
}
이메일과 이름 확인 작업을 잘,이 같은 모습을 작동하지 않습니다 양식의 일부 :
<form onSubmit="return checkForm();" method="get" action="sweepstakes-results.php"
<input type=checkbox name=terms id=terms ><br></p>
<div class=error id=termsError>Required: Please check the checkbox<br></div>
<p><input type=submit value=Send style="margin-left: 50px"> </p>
</form>
"이용 약관"확인란은 로컬 컴퓨터에 파일이있는 경우에만 작동하며 업로드 할 때 jus 확인되지 않은 경우에도 양식을 제출합니다. 자바 스크립트가 브라우저에서 실행되지 않습니까? 파일의 위치가 어떻게 달라질 수 있습니까?
당신은 옳았다! 나는 네가 말했듯이 새로운 문제가있다. 이제는 유효성 검사를 통과 할 수 없습니다. 비록 내가 상자를 체크하더라도 그것은 틀린 것을 반환한다. –
또한 변경 한 경우 로컬 일 때 더 이상 작동하지 않습니다. –
죄송합니다. 코드 오류가 발생했습니다. –