页面加载时运行脚本

时间:2019-05-28 15:04:53

标签: javascript

我正在使用以下代码作为用户输入数字的方式来进行计算。

   <form action="index.php" method="post" autocomplete="off" data-abide>
   <input type="text" id="rate" name="rate">
   <input type="text" name="supplier_cost" class="value-right" pattern="\d*" value="<?php echo $supplier_cost; ?>" id="decimal" required>
   <input type="text" name="sterling" id="sterling" class="value-right" disabled>
   <button type="submit" class="button tiny ebc-theme" name="save"><i class="fa fa-floppy-o" aria-hidden="true"></i> SAVE</button>
   </form>

$(document).ready(function(){

        var supplier_id = $('#supplier').val().split(",");
        var period = "<?php echo $period; ?>";
        $.ajax({
            url: "fetch_rate.php",
            method: "POST",
            data:{supplierID:supplier_id[1], periodID:period},
            dataType:"text",
            success:function(data)
            {
                $('#rate').val(data);
            }
        });

});

   $(document).ready(SterlingCalc); 
   document.getElementById('decimal').addEventListener("keyup", SterlingCalc);

   var rate = document.getElementById('rate');
   var sup_cost = document.getElementById('decimal');

   function SterlingCalc(){

      document.getElementById('sterling').value = (sup_cost.value / rate.value).toFixed(2) || 0;

   }

如果已经添加了“ rate”和“ decimal”字段(例如,值由数据库填充),那么如何添加代码以使计算在页面加载时运行?

谢谢

约翰

2 个答案:

答案 0 :(得分:1)

尝试一下:

if ((result <= 0) || (data == EOF)){
    perror("Connection closed");
    exit(1);
}

推理: 使用$(document).ready(function() { SterlingCalc(); document.getElementById('decimal').addEventListener("keyup", function(){SterlingCalc()}); }); function SterlingCalc(){ var rate = document.getElementById('rate'); var sup_cost = document.getElementById('decimal'); document.getElementById('sterling').value = (sup_cost.value / rate.value).toFixed(2) || 0; } ,您基本上在加载文档时执行代码(XXX)。因此,如果页面加载,则将绑定设置为“十进制”。

答案 1 :(得分:0)

您正在尝试将jquery与标准js混合使用,这不是最佳实践,使用jquery可以执行以下操作:

    $(document).ready(function () {

     let sterlingFunc = function (){

     let rate = $('#rate');
     let sup_cost = $('#decimal');
     let value = (sup_cost.value / rate.value).toFixed(2) || 0;
     $('#sterling').val(value);
     // maybe return value
     }

     $("#decimal").on("keyup", sterlingFunc());

     // to run when page is loaded 
     sterlingFunc();  

    });