Javascript HTML/JS-在文本输入文本框1+;2.
我希望获取输入到Javascript HTML/JS-在文本输入文本框1+;2.,javascript,html,Javascript,Html,我希望获取输入到tbQtyFailed和tbQtyTested中的数字,计算百分比,然后在tbFailurePercent中显示百分比。我想我可以创建一个JS函数,然后用结果分配tbFailurePercents值,但无法使其工作,我不确定为什么。我已附上代码。谢谢 <td>Qty Tested:</td> <td> <input type="text" id="tbQtyTested"> </td> </tr> &
tbQtyFailed
和tbQtyTested
中的数字,计算百分比,然后在tbFailurePercent
中显示百分比。我想我可以创建一个JS函数,然后用结果分配tbFailurePercents
值,但无法使其工作,我不确定为什么。我已附上代码。谢谢
<td>Qty Tested:</td>
<td>
<input type="text" id="tbQtyTested">
</td>
</tr>
<script type="text/javascript">
function PercentageMath() {
var qtyTested = document.getElementById("tbQtyTested");
var qtyFailed = document.getElementById("tbQtyFailed");
var failurePercent = parseFloat(qtyTested.value) / parseFloat(qtyFailed.value);
var display = document.getElementById("tbFailurePercent");
display.value = failurePercent;
} else {
document.getElementById("tbFailurePercent").value = "NAN";
}
};
</script>
<tr>
<td>Bag Number of Previous Test Period:</td>
<td>
<input type="text" id="tbPreviousPeriod">
</td>
<td>Result(s):</td>
<td>
<input type="text" id="tbResults" value="" onchange="PercentageMath()">
</td>
</tr>
<tr>
<td>Bag Numbers within Failure Scope:</td>
<td>
<input type="text" id="tbBagsWithinScope">
</td>
<td>Failure % (Failed/Tested):</td>
<td>
<input type="text" id="tbFailurePercent" disabled>
</td>
</tr>
测试数量:
函数PercentageMath(){
var qtyTested=document.getElementById(“tbQtyTested”);
var qtyFailed=document.getElementById(“tbQtyFailed”);
var failurePercent=parseFloat(qtyTested.value)/parseFloat(qtyFailed.value);
var display=document.getElementById(“tbFailurePercent”);
display.value=故障百分比;
}否则{
document.getElementById(“tbFailurePercent”).value=“NAN”;
}
};
上一个测试周期的行李编号:
结果:
故障范围内的行李编号:
失败%(失败/测试):
您的代码缺少一个失败数量字段,结果字段没有任何意义。我也不知道包字段是用来做什么的
函数perc(){
var qtyT=document.getElementById(“qtyT”).value;
var qtyF=document.getElementById(“qtyF”).value;
var fRes=document.getElementById(“failPerc”);
var pRes=document.getElementById(“passPerc”);
var failPerc=parseFloat(qtyF)/parseFloat(qtyT);
//log('fail%:'+failPerc);
var passPerc=parseFloat(1-failPerc);
//log('pass%:'+passPerc);
fRes.value=(failPerc*100)+“%”;
压力值=(Pasperc*100)+“%”;
};代码>
测试数量:
失败数量:
行李预测试:
通过:
行李#故障范围:
失败:
您有一个else
但没有ifa请提供一个,最好是一个punker/Fiddle。您有一个else
而没有if
,我没有看到tbQuantityFailed
元素。@artm-else是以前失败的遗留问题@Igor Raush-我错过了tbQuantityFailed在我的代码复制。无论如何,谢谢你们,很抱歉粘贴工作太糟糕了。粘贴过程中遗漏了tbQtyFailed,我应该删除代码片段中的bag字段,因为它们不相关。我对HTML几乎一无所知,但在工作中被这个项目困住了,所以谢谢你。我可以问一下为什么需要fRes和pRes吗?为什么document.getElementById(“failPerc”).value=partseInt(qtyF)/parseInt(qtyT)不起作用?临时变量的需求是什么?是因为你必须“加载”这些项到函数中,否则它就无法访问它们吗?之所以会有一些变量的翻转,是因为如果我试图在一个表达式中压缩太多的步骤,这对我来说几乎不起作用。我相信有一种更精简的方法可以减少一些步骤,但从长远来看,我通常需要连接到这些额外的步骤,以分支到另一个函数。我认为没有使用failPerc.value=qtyF/qtyT是因为通常在表达式中,我在=
左侧发现一个实数变量,而=
右侧的表达式很少失败。哦,我明白你的意思了…我没有使用paresInt
,因为整数是整数,小数点(例如0.01)的任何内容都是不正确的。使用parseFloat
可以。顺便说一句,如果您想得到更小的结果,请使用.toFixed()
再次感谢您的帮助!哦,那是一个拼写错误,我确实知道它的区别,至少lol。