首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Javascript从来自PHP的文本框中添加值

问使用Javascript从来自PHP的文本框中添加值
EN

Stack Overflow用户
提问于 2014-04-19 10:14:41
回答 2查看 1.8K关注 0票数 0

我有3个文本框,其值来自PHP,我希望使用Javascript添加它们。

所以我有个密码:

代码语言:javascript
复制
function addNumbers()      
  { 
   var pa    = parseFloat(document.getElementById("pa").value) ||0;
   var ma    = parseFloat(document.getElementById("ma").value) ||0;
   var oa    = parseFloat(document.getElementById("oa").value) ||0;
   var ga    = document.getElementById("ga");      

   ga.value = (pa+ma+oa).toFixed(2);
}

在我的HTML中,我有:

代码语言:javascript
复制
<input onchange="addNumbers()" type="text" id="pa" name="pa" value="<?php echo $pas_Sum ?>" /> 
<input onchange="addNumbers()" type="text" id="ma" name="ma" value="<?php echo $mas_Sum ?>" /> 
<input onchange="addNumbers()" type="text" id="oa" name="oa" value="<?php echo $oas_Sum ?>" /> 
<input onchange="addNumbers()" type="text" id="ga" name="ga" value="" />  

问题:和没有显示在文本框"ga“中。

同样在PHP中,我有以下内容:

代码语言:javascript
复制
$pa      = mysql_query("select SUM(PAmt) as sumPA FROM $tbl_name"); 
$pa_sum  = mysql_fetch_assoc($pa); 
$pas_Sum = number_format ($pa_sum['sumPA'], 2);

$ma      = mysql_query("select SUM(MAmt) as sumMA FROM $tbl_name"); 
$ma_sum  = mysql_fetch_assoc($ma); 
$mas_Sum = number_format ($ma_sum['sumMA'], 2);

$oa      = mysql_query("select SUM(Amt) as sumOA FROM $tbl_name"); 
$oa_sum  = mysql_fetch_assoc($oa); 
$oas_Sum = number_format ($oa_sum['sumOA'], 2);

首先,我尝试使用以下代码直接添加数字:

代码语言:javascript
复制
$all = $pas_Sum + $mas_Sum + $oas_Sum

然后我把它放在HTML文本框中

代码语言:javascript
复制
<input type="text" id="ga" name="ga" value="<?php echo $all ?>" /> 

这里的问题是,它显示的是错误的数量。这就是为什么我尝试使用JS,但我没有在文本框中得到任何显示。你知道我该怎么解决这个问题吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-19 10:59:47

如果希望在页面加载时计算值,则需要在加载完成后强制执行更改事件。

演示http://jsfiddle.net/a3aL6/1/

代码语言:javascript
复制
(function () {
    function load2(){
        document.getElementById("ga").onchange();
    }
    if (window.addEventListener) {
        window.addEventListener('DOMContentLoaded', load2, false);
    } else {
        window.attachEvent('onload', load2);
    }
} ());

如果您希望在用户更改输入时更改值,而不需要失去对元素的关注,那么可以考虑使用onkeyup而不是onchange。

演示http://jsfiddle.net/a3aL6/2/

str_replace实例

代码语言:javascript
复制
$pas_Sum =  str_replace(',', '', $pa_sum['sumPA']);
$pas_Sum = number_format (pas_Sum, 2);
票数 0
EN

Stack Overflow用户

发布于 2014-04-19 10:30:44

尝试像这样分配价值,

代码语言:javascript
复制
  document.getElementsByName('ga')[0].value = ga;

在那里ga是你的总和,

代码语言:javascript
复制
  ga = (pa+ma+oa).toFixed(2);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23168726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档