0
자바 스크립트가 제대로 동작하지 않습니다. 그것은 간단한 사전 vailidation 양식이며 나는 스크립트가 작동하도록 할 수 없습니다. 각 필드의 유효성을 검사하기로되어 있지만 첫 번째 이름의 유효성을 검사 할 수는 없습니다. 코드가 혼란스럽지 않도록 다른 쓰레기를 모두 제거했습니다. 메모장에 붙여 넣기해야합니다. 약간의 도움 당신은 이름이라는 두 변수, 문제가 될 수도 선포자바 스크립트 문제
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="JavaScript" type="text/javascript">
<!--
function validateForm(theForm) {
var name = theForm.firstname.value;
var name = theForm.lastname.value;
var email = theForm.email.value;
if (name == "") {
alert("Please fill in your First Name.");
theForm.firstname.focus();
return false;
}
if (name == "") {
alert("Please fill in your Last Name.");
theForm.lastname.focus();
return false;
}
if (email == "") {
alert("Please fill in your email address.");
theForm.email.focus();
return false;
}
return true;
}
//-->
</script>
if (!theForm.myCheckbox1.checked {
alert("Please check the honor box.");
return false;
}
</head>
<body>
</script>
<fieldset>
<legend>Fun in the Sun With JavaScript</legend>
<ul>
<form action="blah.cgi" method="post"
onSubmit="return validateForm(this);">
First name: <input type="text" name="firstname"> <font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif"><strong>*</strong></font> <br><br>
Last name: <input type="text" name="lastname"> <font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif"><strong>*</strong></font> <br><br>
Email address: <input type="text" name="email"> <font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif"><strong>*</strong></font> <br><br>
Phone Number: <input type="text" name="phone"><br><br>
<input type="submit" name="submit" value="Submit">
</form>
<input type="checkbox" name="myCheckbox" value="someValue"><font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif"><strong>*</strong></font> <P>By checking this Box you are confirming the data is accurate</p>
<p>(* indicates a required field)</p>
</body>
</html>
'name' 변수를 두 번 선언하고 설정했기 때문에 단순히 그 것이 아니라고 확신합니까? – Thomas
코드에 이 필요하지 않습니다. 그들은 완전히 불필요합니다. 또한 이것이 실제 사용 된 코드를 충실히 재현 한 것이라면 오류가 있습니다.
에 대한 @ psuphish05 제안처럼 검증이 경우 블록에 실패 I합니다. 이로 인해 메소드가 모든 오류를 얻기 전에 조기에 종료됩니다.
isValid 부울 변수를 메서드에 유지하고 각 if 블록이 아닌 끝에이를 반환 할 수 있습니다. 검증 실패시 if 블록에서 각각의 isValid를 false로 설정하십시오. 이렇게하면 모든 유효성 검사를 통과하고 필드가 실패하고 사용자의 방법에 대한 단일 종료 점을 제공하면 사용자에게 경고를 표시 할 수 있습니다.
희망 사항은 약간의 통찰력을 제공합니다.
출처
2010-04-18 03:19:31 psuphish05
감사합니다. 유효성 검사에서 귀하가 의미하는 바를 봅니다. 저는 JavaScript에 익숙하지 만 여러분이 말하는 것에 대해 이해하고 있습니다. – Michael
전혀 문제가 없습니다. 우리가 도울 수있어서 기뻐. – psuphish05