[英]Javascript: function not defined error message
我有這個簡單的示例代碼,3個文本框。 如果我將數字寫在前兩個數字中,則將它們相乘並將結果寫在第三個數字中。 但是,如果我運行代碼,則會收到一條錯誤消息:“ ReferenceError:未定義calc”。 我想念什么嗎?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="text/javascript">
function calc()
{
var txt1 = (float) document.getElementById('text1').value;
var txt2 = (float) document.getElementById('text2').value;
document.getElementById('text3').value = (txt1 * txt2);
}
</script>
</head>
<body>
<table>
<tr>
<td><input type="text" id="text1" name="text1"></td>
<td><input type="text" id="text2" name="text2" onkeypress="calc();"></td>
<td><input type="text" id="text3" name="text3"></td>
</tr>
</table>
</body>
</html>
更新:誰寫道“(float)”導致了問題,那是對的。 謝謝您的幫助。
嘗試使用parseFloat
進行浮動
function calc()
{
var txt1 = parseFloat(document.getElementById('text1').value);
var txt2 = parseFloat(document.getElementById('text2').value);
document.getElementById('text3').value = (txt1 * txt2);
}
出現該錯誤的原因是,在那里定義的函數無效,因此未加載該函數。 問題在於(float)-您無法像JavaScript那樣進行類型轉換。
使用parseFloat()函數,如下所示:
var txt1 = parseFloat(document.getElementById('text1').value);
請注意,Rajesh也是正確的,因為您需要進行更改
<script language="text/javascript">
至
<script type="text/javascript">
完整,正確的腳本如下:
<script type="text/javascript">
function calc()
{
var txt1 = parseFloat(document.getElementById('text1').value);
var txt2 = parseFloat(document.getElementById('text2').value);
document.getElementById('text3').value = (txt1 * txt2);
}
</script>
1)嘗試改變
<script language="text/javascript">
至
<script type="text/javascript">
如果要使用不推薦使用的 language
屬性,可以執行以下操作:
<script language="Javascript">
此外,正如其他人已經指出的那樣,要從字符串中獲取浮點數,可以使用parseFloat
並將該字符串作為參數傳遞。 在Java中 ,通常使用(float)
將數值類型從double
或int
為float
。
2)嘗試改變
var txt1 = (float) document.getElementById('text1').value;
var txt2 = (float) document.getElementById('text2').value;
至
var txt1 = parseFloat(document.getElementById('text1').value;
var txt2 = parseFloat(document.getElementById('text2').value;
使用parseFloat()
代替(float)
試試這個演示
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/JavaScript">
function calc()
{
var txt1 = document.getElementById('text1');
var txt2 = document.getElementById('text2');
document.getElementById('text3').value = (parseFloat(txt1.value) * parseFloat(txt2.value));
}
</script>
</head>
<body>
<table>
<tr>
<td><input type="text" id="text1" name="text1" value=""></td>
<td><input type="text" id="text2" name="text2" value=""></td>
<td><input type="text" id="text3" name="text3" onkeypress="calc()" value=""></td>
</tr>
</table>
</body>
</html>
使用此行<script language="javascript" type="text/javascript">
我是導致問題的(浮動)轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.