使用Javascript从来自PHP的文本框中添加值
我有3个文本框,它们的值来自PHP,我想使用Javascript添加它们 所以我有这个代码:使用Javascript从来自PHP的文本框中添加值,javascript,php,textbox,addition,Javascript,Php,Textbox,Addition,我有3个文本框,它们的值来自PHP,我想使用Javascript添加它们 所以我有这个代码: function addNumbers() { var pa = parseFloat(document.getElementById("pa").value) ||0; var ma = parseFloat(document.getElementById("ma").value) ||0; var oa = parseFloat(document
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);
}
$all = $pas_Sum + $mas_Sum + $oas_Sum
在我的HTML中,我有:
<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="" />
$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);
首先,我尝试使用以下代码直接添加数字:
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);
}
$all = $pas_Sum + $mas_Sum + $oas_Sum
然后我把它放在HTML文本框中
<input type="text" id="ga" name="ga" value="<?php echo $all ?>" />
尝试这样分配值
document.getElementsByName('ga')[0].value = ga;
ga是你的总数
ga = (pa+ma+oa).toFixed(2);
如果希望在页面加载时计算值,则需要在加载完成后强制更改事件
演示
如果用户希望更改输入,而不必丢失元素的焦点,则可以考虑使用<代码> OnKypUP ,而不是<代码> OnChchange < /Cord>< /P>
演示
str_替换示例
$pas_Sum = str_replace(',', '', $pa_sum['sumPA']);
$pas_Sum = number_format (pas_Sum, 2);
在第一个HTML清单中,ga行没有php<代码>
我应该在那里放什么?文本框“ga”应该只包含3个框的总和。您在控制台中是否有任何错误?@Lugia101101,无。还有Javascript代码——如果我把ga.value=(pa.toFixed(2);要尝试代码,我还没有得到任何值。在PHP代码中,如果我输入,则从您的PHP解析的数据肯定有问题。您当前状态下的代码运行良好。谢谢您的回答。我已尝试在函数中输入常量值。例如:function addNumbers(){var y=5;var ga=document.getElementById(“ga”);ga.value=(y+2);}。文本框上仍然没有显示。是的,我做了,它现在起作用了,问题是,如果有逗号,它只是在逗号之前获取数字。你能粘贴代码的最后两行吗?这样我就可以理解到底是什么问题了。谢谢,我现在明白了为什么它不起作用了。还有为什么PHP代码没有给出正确的答案。它没有忽略逗号。我如何可以忽略逗号以便添加?我尝试了str_replace,但它不起作用。如果未使用函数number_格式
,原始php会输出什么?谢谢@Vector,它现在起作用了,但如果有逗号,它只是在逗号之前获取数字。我如何可以忽略逗号?在使用之前在number_format函数中,使用'str_replace(',','','',$subject);请看我的编辑好的,我会试试。我做的是$pas_Sum=number_format(str_replace(',','','',$pa_Sum['sumPA']),2;