我一直致力于网站建设。由于我是Javascript / HTML的新手,我总是陷入困境。今天我编写了这个文件,当我完成前两个javascript函数时代码工作正常,但所有三个函数都变成了#34; undefined"在我完成第三个功能时在控制台中。当我在浏览器中打开此文件时,它们不执行任何操作。这是我的代码:`
<html>
<head>
<title> Broker Page -- Stock Operating System </title>
<link rel="stylesheet" type="text/css" href="styleSheet.css" />
<h1> Welcome to Broker Page! </h1>
<script type="text/javascript">
function executeStock() {
var stockPrice = Math.random() * 10;
var inputStr = document.getElementById('stockName').value;
if (inputStr != "") {
if (inputStr.length != 6)
alert('Please enter 6 digits for the stock ID!');
else if (inputStr >= 0)
document.write("The stock price for the stock you are searching for is " + stockPrice.toPrecision(2));
else
document.write("<h1> <font face="Calibri"> The stock ID you entered is invalid! It must only contain digits! </font> </h1>");
}
}
function buyStock() {
var stockID = document.getElementById('buyingStock').value;
var stockShares = document.getElementById('stockShare').value;
if (stockID.length != 6) {
alert("The stock ID you entered must be six digits!");
return;
}
if (stockShares > 0) {
alert("You succeeded!");
} else
document.write("<h1>The stock share you entered is invalid. Please try again!</h1>");
}
function sellStock() {
var stockIDToSell = document.getElementById('sellOne').value;
var sellSh = document.getElementById('sellShare').value;
if (stockIDToSell.length != 6) {
alert("The stock ID you entered must be six digits!");
return;
}
if (sellSh > 0) {
alert("You sold " + sellSh + " share of stock with ID: " + stockIDToSell);
} else
document.write("<h1>The stock share you entered is invalid. Please try again!</h1>");
}
</script>
</head>
<body>
<div align="center">
<form method="post" onsubmit="executeStock();" >
<font face="Calibri" color=#880000> Search Stock </font>
<input type="text" id="stockName" size="13" />
<input type="submit" id="SubmitSearch" value="go" style="width:40px;height:30px;font-size:16" />
</form>
</div>
<br> </br>
<div align="center">
<form method="post" onsubmit='buyStock();'>
<font face="Calibri" color=#880000 size=12> Buy Stocks </font> <br> </br>
<font face="calibri" color=#000000> Enter the stock ID: </font>
<input type="text" value="" id="buyingStock" />
<br> </br>
<font face="calibri" color=#880000> Enter share: </font>
<input type="text" value="" id="stockShare" />
<input type="submit" value="Buy!" />
</form>
<form method="post" onsubmit='sellStock();'>
<font face="Calibri" color=#008800 size=12> Sell Stocks </font>
<br> </br>
<font face="calibri" color=#000000> Enter the stock ID: </font>
<input type="text" value="" id="sellOne" />
<br> </br>
<font face="calibri" color=#880000> Enter share: </font>
<input type="text" value="" id="sellShare" />
<input type="submit" value="Sell!" />
</form>
</div>
<div align="center">
<p> <font face="Calibri"> Your client information and recent transactions will be loaded here. </font> </p>
</div>
</body>
</html>
`任何人都可以帮我解决这个问题吗?这绝对不是一个重复的问题。感谢。
答案 0 :(得分:1)
看起来你在第18行有一个语法错误:
document.write("<h1> <font face="Calibri"> The stock ID you entered is invalid! It must only contain digits! </font> </h1>");
“face”属性的双引号会干扰用于document.write()调用的引号。要解决此问题,您可以使用单引号进行document.write()调用,或者在'face'属性中转义双引号:
document.write('<h1> <font face="Calibri"> The stock ID you entered is invalid! It must only contain digits! </font> </h1>');
或
document.write("<h1> <font face=\"Calibri\"> The stock ID you entered is invalid! It must only contain digits! </font> </h1>");