我無法弄清楚我的代碼有什麼問題; JavaScript根本不運行。我試圖使用Firebug,但它的行爲就像頁面上沒有腳本。調試JavaScript的最佳方式是什麼?有沒有人看到這有什麼問題?調試Javascript
HTML:
<!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" lang="en" xml:lang="en">
<head>
<script type="text/javascript" src="estimates.js"></script>
<title>Pasha the Painter Estimates</title>
<link href="painter.css" rel="stylesheet" type="text/css" />
<link href="favicon.ico" rel="icon" type="images/x-icon" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div id="container">
<h1 id="logo"><img src="painterlogo.gif" alt="Pasha the Painter" width="620" height="120" /></h1>
<div id="leftcolumn">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="services.html">Services</a></li>
<li><a href="testimonials.html">Testimonials</a></li>
<li><a hef="estimates.html">Estimates</a></li>
</ul>
</div>
<div id="rightcolumn">
<p>Request a Free Estimate.</p>
<form method="post" onsubmit="return validateForm()"
action="http://webdevfoundations.net/scripts/painter.asp">
<table>
</tr>
<tr>
<td>
<label for="name" >Name: *</label>
</td>
<td>
<input type="text" name="name" id="name" maxlength="80" size="30" />
</td>
</tr>
<tr>
<td>
<label class="labelCol for="email">E-mail: *</label>
</td>
<td>
<input type="text" name="email" id="email" maxlength="80" size="30" />
</td>
</tr>
<tr>
<td>
<label class="labelCol for="phone">Phone: *</label>
</td>
<td>
<input type="text" name="phone" id="phone" maxlength="80" size="30" />
</td>
</tr>
<td>
<label class="labelCol for="comments">Type of Job:</label>
</td>
<td >
<textarea name="comments" id="comments" maxlength="1000" cols="25" rows="3"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<input type="submit" value="Free Estimate">
</td>
</tr>
</table>
</form>
</div>
</form>
<div id="footer">Copyright © 2011 Pasha the Painter<br />
<a href="mailto:[email protected]">gailliota1 [at] nku.edu</a></div>
</div>
</div>
</div>
</body>
</html>
的Javascript:
function validateForm(){
var email = document.forms[0].email.value;
var names = document.forms[0].name.value;
var phone = document.forms[0].phone.value;
var emailm = email.match(/^[a-zA-Z0-9_.-][email protected][a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$/)
var lnamem = names.match(/^([a-zA-Z]+)\S[a-zA-Z]([a-zA-Z]+))$/)
var fnamem = names.match(/^([a-zA-Z+)\S([a-zA-Z]\.\S)?[a-zA-Z]+))$/)
var phonem = phone.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)
if (names == ""){
alert("Please enter your name.");
names.focus();
return false;
}
else if (fnamem == null || lnamem == null){
alert("Invalid name.");
names.focus();
return false;
}
if (email == ""){
alert("Please enter your e-mail address.");
email.focus();
return false;
}
else if (emailm == null){
alert("Invalid e-mail address.");
email.focus();
return false;
}
if (phone == ""){
alert("Please enter your phone number.");
phone.focus();
return false;
}
else if (phonem == null){
alert("Invalid number.")
phone.focus();
return false;
}
alert("Are you sure you would like to submit this form?");
names = names.value.toUpperCase();
return true;
}
你嘗試加入調試;在jscript代碼?嘗試一下並在IE中打開。確保禁用腳本調試從IE->工具 - >高級 – 2011-02-02 06:02:09