【问题标题】:parseInt() functionis not workingparseInt() 函数不工作
【发布时间】:2018-12-09 22:57:37
【问题描述】:

我有一个输入元素来接受数字类型。我知道 javascript 将输入作为字符串。所以我使用parseInt() 转换为integer。但它不起作用。

我的代码是:

<tr>
    <td rowspan="6"><br><br><br><br><br>B1<br> Salary/Pension:</td>
    <td>(1) Salary (excluding all allowances, perquisites and profit in lieu of salary</td>
    <td><input type="text" id="sal" value="0" name="sal" placeholder="" class="form-control "></td>
</tr>
<tr>
    <td>(2) Allowances not exempt</td>
    <td><input type="text" id="allowance" value="0" name="allowance" placeholder="" class="form-control "></td>
</tr>
<tr>
    <td>(3)Value of perquisites</td>
    <td><input type="text" id="perquisites" value="0" name="perquisites" placeholder="" class="form-control "></td>

</tr>
<tr>
    <td>(4) Profits in lieu of salary</td>
    <td><input type="text" id="profit" name="profit" value="0" placeholder="" class="form-control"></td>
</tr>
<tr>
    <td>(5)Deduction u/s 16</td>
    <td><input type="text" id="ded16" name="ded16" value="0" placeholder="" class="form-control"></td>
</tr>
<tr>
    <td>(6)Income chargable under the head 'Salaries':</td>
    <td><input type="text" id="inchargesal" value="0" name="inchargesal" placeholder="" class="form-control" readonly></td>
</tr>

//js部分为:

  $(document).ready(function() {
    function change() {
        f = a + b + c + d - e;
        alert(f);
        $('#inchargesal').removeAttr('readonly').val(f);
    }
    $('#sal').on('change', function() {

        var a = parseInt(document.getElementsById("sal").value);
        alert("hi");
        change();
    });
    $('#allowance').on('change', function() {
        b = parseInt(document.getElementById("allowance").value)

        change();
    });
    $('#perquisites').on('change', function() {
        c = parseInt(document.getElementsById("perquisites").value);
        change();
    });
    $('#profit').on('change', function() {
        d = parseInt(document.getElementsById("profit").value);
        change();
    });
    $('#ded16').on('change', function() {
        e = parseInt(document.getElementsById("ded16").value);
        change();
    });
});

这里要注意的是,当我在 parseInt 语句上方使用 alert("hi") 时,alert 工作正常,但是当我之后使用它时,alert("hi") 不起作用。

怎么了?请帮忙。

【问题讨论】:

  • 你拼错了getElementsById,里面应该没有s
  • 打开浏览器控制台并检查错误。您的代码使用getElementsById(),但方法实际上是getElementById()
  • 另外,像这样混合使用 jQuery 和浏览器 DOM API 会让人感到困惑。
  • 谢谢大家,它正在工作。
  • 是的@ibrahimmahrir,我现在已经更正了代码。谢谢。

标签: javascript


【解决方案1】:

您使用了不正确的文档方法。没有这样的方法说getElementsById()。在 HTML DOM 中,id 字段是唯一的,因此它永远不可能是 getElements,而是 getElement。使用getElementById('id') 使其工作。

另外,最好先检查console,您的大部分问题都可以自行解决。 安慰 -

【讨论】:

  • 我正在使用dreamweaver,如何查看控制台?
  • 添加了我所指的截图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 2015-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多