我试图让 JavaScript 在显示隐藏的 div 之前验证表单中的所有数据。我一生都无法弄清楚我哪里出错了,一旦完成,我的第一个函数调用我的第二个函数。
所有 HTML、CSS 和 JavaScript 如下:
<!DOCTYPE html>
<html>
<head>
<title>Sign Up</title>
<style text/css>
body
{
background: url(http://www.catalink.com/images/christmas-1211.jpg);
}
.outer
{
margin: auto;
width: 910px;
position: relative
}
.inner
{
padding-left: 10px;
padding-top: 10px;
background: white;
width: 900px;
margin: auto;
height: 410px;
}
.image
{
float: left;
}
.catname
{
margin-right: 180px;
margin-left: 245px;
background: #cae1ff;
text-align: center;
font-family: Verdana, Geneva, sans-serif;
font-size: 11px;
line-height: 18px;
height: 20px;
border: solid;
border-width: thin;
border-color: #828282;
}
.catcopy
{
margin-right: 180px;
padding-left: 28%;
font-family: Verdana, Geneva, sans-serif;
font-size: 11px;
line-height: 18px;
}
.banner
{
margin-left: 250px;
margin-right: 180px;
padding-top: 25px;
}
.singlelineform
{
background: #DDD;
width: 150px;
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
border: solid;
border-width: thin;
border-radius: 12px;
padding: 5px;
position: absolute;
right: 0;
top: 0;
}
.ntitle
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
}
.fname
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
}
.day
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
}
.month
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
}
.year
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
}
.email
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
}
.hnumber
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
}
.pcode
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
}
.button
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
}
button, input, select, textarea {
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
}
input
{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-khtml-box-sizing: border-box;
box-sizing: border-box;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
-khtml-border-radius: 12px;
border-radius: 12px;
}
select
{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-khtml-box-sizing: border-box;
box-sizing: border-box;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
-khtml-border-radius: 12px;
border-radius: 12px;
}
button
{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-khtml-box-sizing: border-box;
box-sizing: border-box;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
-khtml-border-radius: 12px;
border-radius: 12px;
}
.newformouter
{
margin: auto;
width: 910px;
position: relative;
background: white;
}
#newinner
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
border: solid;
border-width: thin;
border-radius: 12px;
padding-left: 5px;
padding-top: 5px;
background: #DDD;
width: 600px;
margin: auto;
height: 200px;
}
.lnewform
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
width: 50%;
left: 0;
top: 0;
}
.rnewform
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
width: 296px;
position: absolute;
right: 159px;
top: 0;
height: 94px;
}
.address1
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
float: right;
}
.address2
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
float: right;
}
.county
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
float: right;
}
.pcodenform
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
float: right;
}
.telephone
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
float: right;
}
.password
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
float: right;
}
.privacydiv
{
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
line-height: 18px;
padding: 2px;
float: right;
width: 50%
}
</style>
<script type="text/javascript" language="javascript">
function validateForm() {
var fname = document.getElementById("fname");
if (fname.value.length < 2) {
alert ("Please enter your First name!");
return false;
}
var lname = document.getElementById ("lname");
if (lname.value.length < 3) {
alert ("Please enter your Surname!");
return false;
}
var address = document.getElementById ("address");
if (address.value.length < 1) {
alert ("Please enter your House Number or Name!");
return false;
}
var postcode = document.getElementById ("postcode");
if (postcode.value.length < 6) {
alert ("Please enter your Post Code!");
}
var x=document.forms["firstform"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("Please enter a valid e-mail address");
return false;
}
}
function show()
{
document.getElementById("newinner").style.display = "block";
}
</script>
</head>
<body>
<div class="outer">
<div class="inner">
<div class="image"><img src="http://www.catalink.com/images/cat/extralarge/burton-1208d.jpg" /></div>
<div class="catname"><b>Burton eNewsletter</b></div>
<div class="catcopy"><p><b>Outfitters of the Modern British Man...</b></p><p><b>Burton believes in combining accessible style with great value.</b> They want fashion to be easy and comfortable as well as stylish. They embrace their British tailoring roots but they also understand the importance of kicking back in a great pair of jeans and a hoodie. They love a good laugh, but they also know the importance of <b>"looking the business"</b></p></div>
<div class="banner"><a href="http://www.burton.co.uk/webapp/wcs/stores/servlet/TopCategoriesDisplay?storeId=12551&catalogId=33052" target="blank"><img src="http://www.catalink.com/images/450ban/burton-450ban-1208b.jpg" border="0" /></a></div>
<div class="singlelineform">
<form name="firstform" method="post">
<div class="formtitle"><b>To request this brochure please fill out the form below.</b></div>
<div class="ntitle"><b>First Name*:</b><br><select>
<option value="title">Title</option>
<option value="mr">Mr</option>
<option value="mrs">Mrs</option>
<option value="miss">Miss</option>
<option value="ms">Ms</option>
</select>
</div>
<div class="fname">
<input type="text" name="fname" id="fname" /></div>
<div class="lname"><b>Last Name:*</b><input type="lastname" name="lname" id="lname" /></div>
<div class="day"><b>Date of Birth*:</b>
<select name="date" form="dateform">
<option value="day">Day</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
</div>
<div class="month">
<select form="monthhform">
<option value="month">Month</option>
<option value="january">January</option>
<option value="february">February</option>
<option value="march">March</option>
<option value="april">April</option>
<option value="may">May</option>
<option value="june">June</option>
<option value="july">July</option>
<option value="august">August</option>
<option value="september">September</option>
<option value="october">October</option>
<option value="november">November</option>
<option value="december">December</option>
</select>
</div>
<div class="year">
<select form="yearform">
<option value="year">Year</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
<option value="1979">1979</option>
<option value="1978">1978</option>
<option value="1977">1977</option>
<option value="1976">1976</option>
<option value="1975">1975</option>
<option value="1974">1974</option>
<option value="1973">1973</option>
<option value="1972">1972</option>
<option value="1971">1971</option>
<option value="1970">1970</option>
<option value="1969">1969</option>
<option value="1968">1968</option>
<option value="1967">1967</option>
<option value="1966">1966</option>
<option value="1965">1965</option>
<option value="1964">1964</option>
<option value="1963">1963</option>
<option value="1962">1962</option>
<option value="1961">1961</option>
<option value="1960">1960</option>
<option value="1959">1959</option>
<option value="1958">1958</option>
<option value="1957">1957</option>
<option value="1956">1956</option>
<option value="1955">1955</option>
<option value="1954">1954</option>
<option value="1953">1953</option>
<option value="1952">1952</option>
<option value="1951">1951</option>
<option value="1950">1950</option>
<option value="1949">1949</option>
<option value="1948">1948</option>
<option value="1947">1947</option>
<option value="1946">1946</option>
<option value="1945">1945</option>
<option value="1944">1944</option>
<option value="1943">1943</option>
<option value="1942">1942</option>
<option value="1941">1941</option>
<option value="1940">1940</option>
<option value="1939">1939</option>
<option value="1938">1938</option>
<option value="1937">1937</option>
<option value="1936">1936</option>
<option value="1935">1935</option>
<option value="1934">1934</option>
<option value="1933">1933</option>
<option value="1932">1932</option>
<option value="1931">1931</option>
<option value="1930">1930</option>
<option value="1929">1929</option>
<option value="1928">1928</option>
<option value="1927">1927</option>
<option value="1926">1926</option>
<option value="1925">1925</option>
<option value="1924">1924</option>
<option value="1923">1923</option>
<option value="1922">1922</option>
<option value="1921">1921</option>
<option value="1920">1920</option>
<option value="1919">1919</option>
<option value="1918">1918</option>
<option value="1917">1917</option>
<option value="1916">1916</option>
<option value="1915">1915</option>
<option value="1914">1914</option>
<option value="1913">1913</option>
<option value="1912">1912</option>
<option value="1911">1911</option>
<option value="1910">1910</option>
</select></div>
<div class="email"><b>Email:*</b><input type="email" name="email" /></div>
<div class="hnumber"><b>House Number*:</b><input type="text" name="address" id="address" /></div>
<div class="pcode"><b>Post Code:*</b><input type="pcode" name="postcode" id="postcode" /></div>
<div class="button"><input type="button" value="Find Address" name="findaddress" onclick="return validateForm();" /></div>
</form>
</div>
</div>
</div>
<div class="newformouter">
<div id="newinner" style="display:none;">
<form>
<div class="lnewform">
<div class="address1"><b>House No & Street:</b> <input type="text" name="addline1" /></div>
<div class="address2"><b>Address 2:</b> <input type="text" name="addline2" /></div>
<div class="county"><b>County:</b> <input type="text" name="county" /></div>
<div class="pcodenform"><b>Post Code:</b> <input type="text" name="post_code" /></div>
</div>
<div class="rnewform">
<div class="telephone"><b>Telephone/Mobile:</b> <input type="text" name="telephone" /></div>
<div class="password"><b>Password:</b> <input type="password" name="password" /></div>
<div class="password"><b>Confirm Password:</b> <input type="password" name="cpassword" /></div>
</div>
<div class="privacydiv">
<div class="privacy">Please ensure you have read and understood our <a href="http://www.catalink.com/privacy_policy.php">Privacy Policy</a> before pressing the Submit button below.</div>
<div class="button"><input type="button" value="Confirm" onClick="" /></div>
</div>
</form>
</div>
</div>
</body>
</html>