-1

我整天都在做网站建设。由于我对 Javascript/HTML 很陌生,所以我总是被卡住。今天我对这个文件进行了编码,当我完成前两个 javascript 函数时,代码可以正常工作,但是当我完成第三个函数时,所有三个函数在控制台中都变成了“未定义”。当我在浏览器中打开此文件时,它们不执行任何操作。这是我的代码:`

<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>

` 谁能帮我解决这个问题?这绝对不是一个重复的问题。谢谢。

4

1 回答 1

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>");
于 2015-03-26T08:23:55.510 回答