除了我的计算功能之外,每个接缝都能正常工作,警报剂量不会显示。我似乎无法理解为什么。 如果我删除函数中的所有代码,除了第一个var和chat alert to alert(fname);它会工作。但是当我添加任何其他变量时
<pre> <code>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>***********</title>
<script type="text/javascript">
function calculate(){
var fname = document.getElementById("fname").value;
var lname = document.getElementById("lname").value;
var cyear = 2014;
var yob = document.getElementById("yob").value;
alert(fname+" "+lname+", this year you will be "
+(cyear - Number(yob)) + "years old!");
}
</script>
<style type="text/css">
form {background-color:#B18CE8;
width:500px;
margin-top: 50px;
margin-left: auto;
margin-right:auto;
font-family: Arial, sans-serif; padding: 20px;
box-shadow:10px 10px #333333;
/*h-shadow(r) v-shadow(r) blur(o) spread(o) color(o) inset(o)*/
/*(r)means required attribute, (o) means optional attribute*/
}
fieldset { border: none; border-radius:10%; background-color:#ffff19}
fieldset legend {padding:5px; border-radius: 50%; background-color:#0099ff;}
.labelWidth100 {float:left; display:block; width:100px; clear:left;}
</style>
</head>
<body onload="fname.focus();">
<form>
<fieldset style="width:450px"><legend>Name</legend>
<label for="fname" class="labelWidth100">First name:</label>
<input type="text" name="fname" id="fname"><br><br>
<label for="lname" class="labelWidth100">Last name:</label>
<input type="text" name="lname" id="lname"><br><br>
<label for="yob" class="labelWidth100">Year of Birth:</label>
<input type="text" name="yob" id="yob"><br>
</fieldset><br>
<button type="button" onclick="calculate();">Calculate</button>
</form>
<br>
<footer style="border:2px solid black; margin-left:0px; text-align:left;">
<script type="text/javascript">
document.write("This page was last modified: " + document.lastModified);
</script>
</footer><!--close footer-->
</body>
</html>
<pre> <code>
答案 0 :(得分:1)
document.getElementById("lname").value;
没有id“lname”...但是有“Lname”。 Javascript正在停止此错误,因此您的代码不会被执行。
答案 1 :(得分:1)
最后有一个缺少的括号:
alert(
fname
+" "
+lname
+", this year you will be "
+(cyear - Number(yob))
+ "years old!"
); /* This closing parenthesis was missing!! */
答案 2 :(得分:0)
因为您的姓氏ID是&#34; Lname&#34; ,而在javascript中,您使用的是&#34; lname&#34; ,而不是&#39 ; t存在..
答案 3 :(得分:0)
PD:请学习如何使用javascript控制台。我没有发布代码,因为我认为即使我回答你的问题你也需要弄清楚如何修复它。