这段代码就是不想工作。我在警报窗口中得到的消息是NaN
<script type="text/javascript">
var number1 = document.numbers.nr1.value
var number2 = document.numbers.nr2.value
function add(){
var total = number1 + number2;
return total;
}
</script>
<form action="" name="numbers">
<input type="text" name="nr1" />
<input type="text" name="nr2" />
<input type="submit" onclick="alert(add())" />
</form>
您必须在函数中获取数字。否则,它会在向文本字段中键入任何内容之前(甚至在加载文本字段之前)尝试获取值,当然这些值并没有定义。
function add(){
var number1 = parseFloat(document.numbers.nr1.value);
var number2 = parseFloat(document.numbers.nr2.value);
var total = number1 + number2;
return total;
}
您必须使用parseInt()或parseFloat()的javascript代码应该是这样的。。
var number1=parseInt(document.numbers.nr1.value)
var number2=parseInt(document.nnumbers.nr2.value)
函数add(){
var total=数字1+数字2
收益总额
}
或
var number1=parseFloat(document.numbers.nr1.value)
var number2=parseFloat(document.numbers.nr2.value)
函数add(){
var total=数字1+数字2
收益总额
}
如果您只需要一个警报,只需查看下面的代码,
<script type="text/javascript">
function add(){ //function to add
var number1 = document.numbers.nr1.value
var number2 = document.numbers.nr2.value
var total = number1 + number2; //total
alert(total); //alert total
}
</script>
<form action="" name="numbers">
<input type="text" name="nr1" />
<input type="text" name="nr2" />
<input type="submit" onclick="add()" /> <!--onclick with submit button-->
</form>
<script type="text/javascript">
function add(){
var number1 = parseInt(document.getElementById("nr1").value);
var number2 = parseInt(document.getElementById("nr2").value);
var total = number1 + number2;
return total;
}
</script>
<form action="" name="numbers">
<input type="text" name="nr1" id="nr1" />
<input type="text" name="nr2" id="nr2"/>
<input type="submit" onclick="alert(add())" />
</form>
当您调用add函数时,不会计算值。由于这两个语句存在于函数之外。请记住,在页面加载过程中,DOM会从上到下进行解析。在页面加载时,DOM遇到这两个语句,并发现它们是undefined
。因此,您需要在函数中移动它们。您获得的值是string
的形式,因此您需要解析它们,否则将发生string concatenation
。
查找以下工作代码:
function add(){
var number1 = parseInt(document.numbers.nr1.value, 10);
var number2 = parseInt(document.numbers.nr2.value, 10);
var total = number1 + number2;
return total;
}
</script>
<form action="" name="numbers">
<input type="text" name="nr1" />
<input type="text" name="nr2" />
<input type="submit" onclick="alert(add())" />
</form>
希望这能帮助