亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我如何停止未定義以停止在評分計算器中彈出

我如何停止未定義以停止在評分計算器中彈出

慕尼黑8549860 2023-04-27 10:27:52
我想創建一個評分計算器,我想知道一些事情。我有這個問題,每當我輸入一個數字時,它就會顯示為“未定義”。請幫忙。    <script>        function Calc() {            var grade = document.getElementById("grade");            var totalGrade = document.getElementById("totalGrade");            var gradePercentage = eval(grade/totalGrade)*100;            document.getElementById("result").innerHTML = gradePercentage.value + "%";        }    </script>    <input type = "text" id = "grade" style = "width:50" autocomplete = "off"> / <input type = "text" id = "totalGrade" style = "width:50" autocomplete = "off">        <br> <br>    <input type = "button" value = "Calculate" onClick = "Calc()">    <p id = "result" name = "r1"> </p></html>
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

有幾個問題:

  • document.getElementById("grade")僅獲取 HTML 節點的輸入值。

  • 永遠不要使用eval()真的很糟糕的事情可能會發生。

  • parseInt()如果您獲得了輸入的價值而不是輸入本身,它將起作用。

  • gradePercentage沒有value財產,它(應該是)一個數字。

function Calc() {

    var grade = parseInt(document.getElementById("grade").value);

    var totalGrade = parseInt(document.getElementById("totalGrade").value);

    var gradePercentage = 100*grade/totalGrade;

    document.getElementById("result").innerHTML = gradePercentage + "%";

}

<input type = "text" id = "grade" style = "width:50" autocomplete = "off"> / <input type = "text" id = "totalGrade" style = "width:50" autocomplete = "off">

<br> <br>

<input type = "button" value = "Calculate" onClick = "Calc()">

<p id = "result" name = "r1"> </p>


查看完整回答
反對 回復 2023-04-27
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

你應該注意getElementById總是返回節點而不是里面的值。你必須分開。

var?gradePercentage?=?(grade.value/totalGrade.value)*100;
document.getElementById("result").innerHTML?=?gradePercentage+?"%";


查看完整回答
反對 回復 2023-04-27
  • 2 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號