如何用javascript添加n个输入值

时间:2017-04-29 06:33:06

标签: javascript php input add

朋友们,我想要我在字段中输入的数字的总和,这些输入值总和等于我的总值。它显示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);

}

5 个答案:

答案 0 :(得分:0)

在您的javascript中添加以下代码

cnum = parseInt(cnum);

答案 1 :(得分:0)

将代码更新为:

var total= parseInt(document.getElementById('total').value);

当您使用totalanum进行比较时。所以必须是错误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);

}

&#13;
&#13;
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;
&#13;
&#13;