gpt4 book ai didi

javascript - 调试 JavaScript

转载 作者:行者123 更新时间:2023-11-28 12:48:23 25 4
gpt4 key购买 nike

我无法弄清楚我的代码出了什么问题; JavaScript 根本不运行。我尝试过使用 Firebug,但它的行为就像页面上没有脚本一样。调试 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 &copy; 2011 Pasha the Painter<br />



<a href="mailto:gailliota1@nku.edu">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_.-]+@[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;



}

最佳答案

检查你的正则表达式。 lnamem 有一个不匹配的 ) 字符,fnamem 有两个不匹配的 ) 字符。

通过删除这些字符,我能够让您的代码正常工作:

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]+$/)

关于javascript - 调试 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4871247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com