簡體   English   中英

為什么我在此JavaScript代碼上輸入了錯誤的輸出?

[英]Why I got wrong output in on this Javascript code?

我有3個HTML輸入文本,當我嘗試在付費輸入文本上鍵入時,我只能從100到999得到正確答案,但是當總應付金額達到1000+時,它將輸出錯誤。

例:

應付金額: 500 (高於1000的輸出錯誤)

已付: 600 <-當我輸入600時,只要應付金額從0到999,它都有正確的輸出值可以更改。

更改: 100 <-正確。

..但當應付金額高於999時,其輸出錯誤。

例:

應付金額: 1100

付費: 1200

更改: 1199 <-現在我得到了錯誤的輸出。 因為應付金額超過1000。

這是我的腳本:

$("#payable_form input").each(function(){
    $(this).keyup(function(){
       var payable_amount;
       var paid;

       payable_amount = parseFloat( $('#payable_amount').val() );
       paid = parseFloat( $('#paid').val() );
       payable_amount = $.isNumeric( payable_amount ) ? payable_amount : 0;
       paid = $.isNumeric(paid) ? paid : 0;

       var change = paid - payable_amount;
       $('#change').val(change.toFixed(2));
   });
});

完整代碼:

<form class="form-horizontal" action="salestranslog.php" id="payable_form" method ="POST">
  <br />
    <div class="form-group">
      <label class="control-label col-xs-4">Customers:</label>
            <div class="col-xs-6">
        <?php  
             $result = mysqli_query($connection, "SELECT * FROM customers"); 
             echo "<select class='form-control' name='customer'>"; 
             while($row = mysqli_fetch_assoc($result)) 
             { 
                echo "<option value = '".$row[name]."'>".$row[name]."</option>"; 
             }
             echo "</select>"; 
        ?>
            </div>  
    </div>
    <div class="form-group form-group has-error has-feedback">
        <label class="control-label col-xs-4" for="amount">Total Payable Amount:</label>
        <div class="col-xs-4">
            <input type="text" class="form-control" id="payable_amount" name="payable_amount" value="<?php echo  number_format($total_sales,2); ?>"readonly>
            <span class="glyphicon glyphicon-info-sign form-control-feedback"></span>
        </div>
    </div>
    <div class="form-group">
        <label class="control-label col-xs-4" for="ttl_items">Total Purchase Items:</label>
        <label class="control-label col-xs-1" for="total_items"><mark><?php echo $count; ?></mark></label>
    </div>
        <div class="form-group">
      <label class="control-label col-xs-4">Paid by:</label>
            <div class="col-xs-6">
                <select class="form-control" name="cash">
                    <option>Cash</option>
                    <option>Cheque</option>
                </select>
            </div>  
    </div>

    <div class="form-group form-group-lg">
        <label class="control-label col-xs-4" for="paid">Paid:</label>
        <div class="col-xs-4">
            <input type="text" class="form-control" name="paid" id="paid" placeholder="0.00">
        </div>
    </div>
    <br /><br /><br />
    <div class="form-group has-warning has-feedback">
        <label class="control-label col-xs-4" for="ttl_items">Return Change:</label>
        <div class="col-xs-4">
            <input type="text" class="form-control" id="change" name="change" placeholder="0.00" readonly>
             <span class="glyphicon glyphicon-send form-control-feedback"></span>

        </div>
    </div>
    <br />
     </div>                     
    <script>
        $("#payable_form input").each(function(){
            $(this).keyup(function(){
            var payable_amount;
            var paid;
            payable_amount = parseFloat($('#payable_amount').val());
            paid = parseFloat($('#paid').val());
            payable_amount = $.isNumeric(payable_amount)?payable_amount:0;
            paid = $.isNumeric(paid)?paid:0;
            var change = paid - payable_amount;
            $('#change').val(change.toFixed(2));

        });
      });
    </script>

    <div class="modal-footer">
        <input type="submit" name="submit" value = "Submit" class="btn btn-success">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    </div>
</form>

number_format為數字> = 1000插入逗號

number_format(1100, 2)打印“ 1,100.00”

運行parseFloat(“ 1,100.00”)將輸出1和1200-1 = 1199。

使用parseFloat應該可以更好地工作:

number_format($total_sales, 2, ".", "");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM