【问题标题】:calculate inputed numbers from textboxes从文本框中计算输入的数字
【发布时间】:2014-01-28 10:48:56
【问题描述】:

我对我的程序的任务是,当我在文本框中过滤一条记录时,如果我更改数字,它将自动更改总数并在(总计)文本框中进行计算...谁能帮助我的代码有什么问题?我大概不循环文本框,因为我有它的计划。

html代码:

<form id="frm" name="frm" />
<table>
<tr>
<td>
Name: <br />
<input type="text" name="name" value="<?php if(empty($name[0])){$name[0] = array(NULL);}else{echo $name[0];} ?>" readonly onClick="optTotal()" /> <br />
</td>
<td>
Score 1: <br />
<input type="text" name="optA" value="<?php if(empty($score1[0])){$score1[0] = array(NULL);}else{echo $score1[0];} ?>" onkeypress="return isnumeric(event)" onClick="optTotal()" /> <br />
</td>
<td>
Score 2: <br />
<input type="text" name="optB" value="<?php if(empty($score2[0])){$score2[0] = array(NULL);}else{echo $score2[0];} ?>" onkeypress="return isnumeric(event)" onClick="optTotal()" /> <br />
</td>
<td>
Score 3: <br />
<input type="text" name="optC" value="<?php if(empty($score3[0])){$score3[0] = array(NULL);}else{echo $score3[0];} ?>" onkeypress="return isnumeric(event)" onClick="optTotal()" /> <br />
</td>
<td>
Score 4: <br />
<input type="text" name="optD" value="<?php if(empty($score4[0])){$score4[0] = array(NULL);}else{echo $score4[0];} ?>" onkeypress="return isnumeric(event)" onClick="optTotal()" /> <br />
</td>
<td>
Total: <br />
<input type="text" name="total" value="<?php if(empty($total[0])){$total[0] = array(NULL);}else{echo $total[0];} ?>" readonly onKeyUp="optTotal()" /> <br />
</td>
</form>

脚本总计:

<script>
function optTotal()
{
    var a1 = document.querySelector('select[name="optA"]');
    var b1 = document.querySelector('select[name="optB"]');
    var c1 = document.querySelector('select[name="optC"]');
    var d1 = document.querySelector('select[name="optD"]');

    if (a1.value && a1.value != "")
        a1 = parseFloat(a1.value);
    else
        a1 = 0;

    if (b1.value && b1.value != "")
        b1 = parseFloat(b1.value);
    else
        b1 = 0;

    if (c1.value && c1.value != "")
        c1 = parseFloat(c1.value);
    else
        c1 = 0;

    if (d1.value && d1.value != "")
        d1 = parseFloat(d1.value);
    else
        d1 = 0;

      document.getElementById("total").value = parseFloat(a1)+parseFloat(b1)+parseFloat(c1)+parseFloat(d1);

}
</script>

如果我将文本框上的数字更改为 (optA) 到 (optD),问题是它不会计算。

【问题讨论】:

  • 请提及您的正确问题?
  • @Anand Somasekhar 问题是如果我更改文本框上的数字,它不会计算。

标签: php html


【解决方案1】:

在 onchange 事件中使用它

 function optTotal() {
        var a1 = document.forms[0].optA;
        var b1 = document.forms[0].optB;
        var c1 = document.forms[0].optC;
        var d1 = document.forms[0].optD;
        if (a1.value && a1.value != "")
            a1 = parseFloat(a1.value);
        else
            a1 = 0;

        if (b1.value && b1.value != "")
            b1 = parseFloat(b1.value);
        else
            b1 = 0;

        if (c1.value && c1.value != "")
            c1 = parseFloat(c1.value);
        else
            c1 = 0;

        if (d1.value && d1.value != "")
            d1 = parseFloat(d1.value);
        else
            d1 = 0;


        var total = a1 + b1 + c1+d1;
        document.forms[0].total.value = total;
      }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多