可能是一些简单的愚蠢

时间:2014-01-23 20:40:02

标签: javascript html

我正在制作一个最终将值提交到数据库的PO表单。当您查看代码时,如果加载它,您将看到行项目区域。数量,描述,Loaction / Use和行总数。第一个订单项的所有内容都很有效,但在填写第二个订单项和后续订单项时,行总计列不会计算或显示任何值。行总字段是简单的数学;数量*单价=总线数。 同样,第一轮的作品很棒。第二行和其他行,好吧,没有任何东西显示在右侧的行总计字段中,我无法弄清楚原因。调用的计算和函数都是相同的,字段ID都是唯一的,我没有得到任何错误。我四处搜索但没有找到任何答案,这是一个奇怪的答案,不确定我是否正在搜索正确的标准。这是一个页面链接(查看源代码以查看代码 - 现在只是简单的HTML和Javascript):

http://www.acsout.com/maintenance.html

因此,当页面加载时,其中7行被隐藏:

document.getElementById('frow3').style.display = 'none';

对于每一行,要计算行总数,我使用的是:

function l1calc(){
if(document.getElementById('up1').value != '' && document.getElementById('q1').value != ''){
    tot1 = document.getElementById('q1').value * document.getElementById('up1').value;

document.getElementById(“lt1”)。value = parseFloat(Math.round(tot1 * 100)/ 100).toFixed(2);     } }

函数l1calc()工作正常

下一个不起作用的是相同的,具有不同的变量:

function l2calc(){
if(document.getElementById('up2').value && document.getElementById('q2').value){
    tot2 = parseFloat(document.getElementById('q2').value) *     parseFloat(document.getElementById('up2').value);
document.getElementById('lt2').value =  tot2;
    }
    }

我发布的链接带您进入页面,让您查看源代码以查看完整代码并测试它以查看我所指的内容。

如果我改变(在函数l2calc中)最后一行是:

document.getElementById('lt1').value =  tot2;

然后lt1字段显示触发函数时的值。但是当它应该是l2calc

document.getElementById('lt2').value =  tot2;

输入字段lt2从不显示该值,它只是保持空白。对于行总列中的其余字段也是如此。

1 个答案:

答案 0 :(得分:0)

这一行在您的脚本(posubtotal

中是错误的
if(document.getElementById("lt2").value = null){ // <-- == null
  polt2 = 0;
} 

我使用了firebug,并在568中看到了带有断点的硬编码l2calc,然后看到值消失了。所以我遵循了代码。