Javascript部分无法在Chrome中使用

时间:2017-07-15 12:53:34

标签: javascript google-chrome

我在Chrome中使用以下脚本时遇到问题。 (它在Firefox和IE中完美运行。)除了calcTotal函数之外,一切正常,我无法弄清楚原因。 **我已经添加了我用来获取变量的表格,如果这有助于澄清事情。 **

<script type="text/javascript">
        function calcWages(){
            document.getElementById('wagestotal').innerHTML = '';
            var hours = new Number(document.getElementById('hours').value);
    var rate = new Number(document.getElementById('rate').value);
           document.getElementById('wagestotal').innerHTML = ((hours * rate).toFixed(2));
           document.getElementById('wagestotal').value = ((hours * rate).toFixed(2));

        }

         function calcMilage(){
            document.getElementById('milagetotal').innerHTML = '';
            var miles = new Number(document.getElementById('miles').value);
    document.getElementById('milagetotal').innerHTML = ((miles * .535).toFixed(2));
    document.getElementById('milagetotal').value = ((miles * .535).toFixed(2));
                }


        function calcTotal(){
           document.getElementById('total').innerHTML = '';
        var wages = new Number(document.getElementById('wagestotal').innerHTML);
        var milage = new Number(document.getElementById('milagetotal').innerHTML);
        var travel = new Number(document.getElementById('travel').value);
        var lodging = new Number(document.getElementById('lodging').value);
        var food = new Number(document.getElementById('food').value);
        var office = new Number(document.getElementById('office').value);
        var other = new Number(document.getElementById('other').value);
document.getElementById('total').value = ((wages + milage + travel + lodging + food + office + other).toFixed(2));
}


       </script>



Items for Reimbursement:<br/>
<Table>
<tr>
    <td>Wages:</td>
    <td>Hours:(8 a day Max)<input type="text" name="hours" id="hours" size="4" maxlength="3" onchange="calcWages(); calcTotal()"></td>
    <td>Rate:<input type="text" name="rate" id="rate" size="3" maxlength="5" onchange="calcWages(); calcTotal()"></td>
    <td>=</td>
    <td><input readonly name="wagestotal" id="wagestotal" size="6" maxlength="7"/></td>
</tr>   
<tr>
    <td>Mileage:</td>
    <td>Miles<input type="text" name="miles" id="miles" size="4" maxlength="4" onchange="calcMilage(); calcTotal()"></td>
    <td>IRS rate ($0.535)</td>
    <td>=</td>
    <td><input readonly name="milagetotal" id="milagetotal" size="6" maxlength="7"/></td>
</tr>
<tr> 
    <td>Travel:</td>
    <td colspan="2"><input type="text" name="travelitem" id="travelitem" size="36"></td>
    <td>=</td>
    <td><input type="text" name="travel" id="travel" size="6" maxlength="7" onchange="calcTotal()"> </td>
</tr>
<tr>
    <td>Lodging:</td>
    <td colspan="2"><input type="text" name="lodgingitem" id="lodgingitem" size="36">    </td>
    <td>=</td>
    <td><input type="text" name="lodging" id="lodging" size="6" maxlength="7" onchange="calcTotal()"></td>
</tr>
<tr>
    <td>Food:</td>
    <td colspan="2"><input type="text" name="fooditem" id="fooditem" size="36">  </td>
    <td>=</td>
    <td><input type="text" name="food" id="food" size="6" maxlength="7" onchange="calcTotal()"></td>
<tr>
    <td>Office Supplies:</td>
    <td colspan="2"><input type="text" name="officeitem" id="officeitem" size="36"> </td>
    <td>=</td>
    <td><input type="text" name="office" id="office" size="6" maxlength="7" onchange="calcTotal()"></td>
</tr>
<tr>
    <td>Other:</td>
    <td colspan="2"><input type="text" name="otheritem" id="otheritem" size="36"></td>
    <td>=</td>
    <td><input type="text" name="other" id="other" size="6" maxlength="7" onchange="calcTotal()"></td>
</tr>
<tr>
    <td></td>
    <td></td>
    <td>Grand Total:</td>
    <td>=</td>
    <td><input readonly name="total" id="total" size="6" maxlength="9"/></td>
</tr>
</table>

1 个答案:

答案 0 :(得分:0)

尝试使用

+document.getElementById('wagestotal').innerHTML

而不是

new Number(document.getElementById('wagestotal').innerHTML)

或只是使用

Number(document.getElementById('wagestotal').innerHTML)

如果您获得值:

        var wages =  Number(document.getElementById('wagestotal').innerHTML);
        var milage = Number(document.getElementById('milagetotal').innerHTML);
        var travel = Number(document.getElementById('travel').value);
        var lodging = Number(document.getElementById('lodging').value);
        var food = Number(document.getElementById('food').value);
        var office = Number(document.getElementById('office').value);
        var other = Number(document.getElementById('other').value);

        document.getElementById('total').value = new Number(wages + milage + travel + lodging + food + office + other).toFixed(2);