首页 > 解决方案 > 如何从 PHP 变量中减去 html 文本框?

问题描述

我正在尝试从数据库中获取我的旧号码,从我的新号码中减去它并显示差异

// Find diff
function updateDue() {

    var kmnew1 = parseInt(document.getElementById("kmnew").value);
    var kmold1 = document.getElementById("kmold").innerHTML = <?php echo $km ?>;

    // to make sure that they are numbers
    if (!kmnew) { kmnew = 0; }
    if (!kmold) { kmold = 0; }

    var ansD = document.getElementById("kmtot");
    ansD.value = kmnew1 - kmold1;
} 

"the value for new is: " <span id="kmnew"></span><br>    
"the value for old is: " <span id="kmold"></span><br> 
"the value for tot is: " <span id="kmtot"></span><br>   


<input type="number" name="kjoring" id="kmnew" style="height:15px;width:50px" onchange="updateDue()"/> 

当我在输入字段中输入数字 1 时,它将显示:

“old 的值是:” 300 (没错)其他两个值没有显示。

标签: phphtml

解决方案


这是更正后的代码。请参阅我的评论以获取解释!

// Find diff
function updateDue() {
    var kmold1 = parseInt('<?php echo $km; ?>');
    var kmnew1 = parseInt(document.getElementById("kminput").value);
    var tot = kmnew1 - kmold1;

    document.getElementById("kmtot").innerHTML = tot;
    document.getElementById("kmnew").innerHTML = kmnew1;
    document.getElementById("kmold").innerHTML = kmold1;
} 

HTML:

"the value for new is: " <span id="kmnew"></span><br>    
"the value for old is: " <span id="kmold"></span><br> 
"the value for tot is: " <span id="kmtot"></span><br>   


<input type="number" name="kjoring" value="" id="kminput" style="height:15px;width:50px" onchange="updateDue()"/>

工作片段:https ://jsbin.com/wesorepoka/edit?html,js,output

为了更容易,您已经可以将输入中的新值传递给函数:

<input type="number" name="kjoring" value="" id="kminput" onchange="updateDue(this.value)" style="height:15px;width:50px" />

// Find diff
function updateDue(kmnew) {   // here you get the passed value
    var kmold1 = parseInt('<?php echo $km; ?>');
    var kmnew1 = parseInt(kmnew); // only this line changed
    var tot = kmnew1 - kmold1;

    document.getElementById("kmtot").innerHTML = tot;
    document.getElementById("kmnew").innerHTML = kmnew1;
    document.getElementById("kmold").innerHTML = kmold1;
} 

推荐阅读