朋友们,我想要我在字段中输入的数字的总和,这些输入值总和等于我的总值。它显示Nan错误当我添加这些输入值时请帮助
这是我的身体内容
<form action="" method="post">
<input type="text" name="cnum" placeholder="enter no. of input">
<input type="submit" name="submit" >
</form>
<?php
if(isset($_POST['cnum']))
{
$cnum=$_POST['cnum'];
$i=0;
?>
<form action="" method="post">
<input type="hidden" name="total" id="total" value="10">
<input type="hidden" name="cnum" id="cnum" value="<?php echo $cnum ;?>">
<?php
while($i<$cnum)
{
?>
<input type="number" id="aq<?php echo $i; ?>" onKeyup="add()" name="aq<?php echo $i; ?>"><br />
<?php
$i++;
}
?>
<input type="submit" name="aqsub">
</form>
<?php
}
?>
这是我的java脚本函数
var val=0;
var total=document.getElementById('total').value;
var cnum=document.getElementById('cnum').value;
var anum;
function add()
{
var n=0;
while(n<cnum)
{
anum = 0;
if(document.getElementById('aq'+n).value != "") {
anum=parseInt(document.getElementById('aq'+n).value);
}
val += anum;
n++;
}
alert(val);
}
答案 0 :(得分:0)
在您的javascript中添加以下代码
cnum = parseInt(cnum);
答案 1 :(得分:0)
将代码更新为:
var total= parseInt(document.getElementById('total').value);
当您使用total
与anum
进行比较时。所以必须是错误Nan总计
答案 2 :(得分:0)
嗯,我不明白你的逻辑,但你得到NAN,因为你的字段值是空白的。
试试这段代码
var val=0;
var total=document.getElementById('total').value;
var cnum=document.getElementById('cnum').value;
var anum;
function add()
{
var n=0;
while(n<cnum)
{
anum = 0;
if(document.getElementById('aq'+n).value != "") {
anum=parseInt(document.getElementById('aq'+n).value);
}
val += anum;
n++;
}
if(total==anum)
{
alert('Its Work');
}
else
{
alert('Its not Work');
}
}
答案 3 :(得分:0)
为什么不直接将PHP var包含到JS var?
中var cnum=<?php echo $cnum ;?>;
也可以检查“”,然后使用零
parseInt(input.value)||0;
答案 4 :(得分:0)
更新JS部分:
var total=document.getElementById('total').value;
total = parseInt(total);
var cnum=document.getElementById('cnum').value;
cnum= parseInt(cnum);
function add()
{
var anum;
var val=0;
var n=0;
while(n<cnum)
{
anum = 0;
var temp = document.getElementById('aq'+n).value;
if( temp != "") {
anum=parseInt(temp);
}
val = +val + anum;
n++;
}
alert(val);
}
var total=document.getElementById('total').value;
total = parseInt(total);
var cnum=document.getElementById('cnum').value;
cnum= parseInt(cnum);
function add()
{
var anum;
var val=0;
var n=0;
while(n<cnum)
{
anum = 0;
var temp = document.getElementById('aq'+n).value;
if( temp != "") {
anum=parseInt(temp);
}
val = +val + anum;
n++;
}
alert(val);
}
&#13;
<form action="" method="post">
<input name="total" id="total" value="10" type="hidden">
<input name="cnum" id="cnum" value="10" type="hidden">
<input id="aq0" onkeyup="add();" name="aq0" value="" type="number"><br>
<input id="aq1" onkeyup="add();" name="aq1" value="" type="number"><br>
<input id="aq2" onkeyup="add();" name="aq2" value="" type="number"><br>
<input id="aq3" onkeyup="add();" name="aq3" value="" type="number"><br>
<input id="aq4" onkeyup="add();" name="aq4" value="" type="number"><br>
<input id="aq5" onkeyup="add();" name="aq5" value="" type="number"><br>
<input id="aq6" onkeyup="add();" name="aq6" value="" type="number"><br>
<input id="aq7" onkeyup="add();" name="aq7" value="" type="number"><br>
<input id="aq8" onkeyup="add();" name="aq8" value="" type="number"><br>
<input id="aq9" onkeyup="add();" name="aq9" value="" type="number"><br>
&#13;