这是我第一次使用Javascript。 我有这个脚本:
<script type="text/javascript">
function baunilha()
{
var qb=document.getElementById("quantbaunilha").innerHTML;
var prbau=5.58;
var totbau=qtd*prbau;
}
document.getElementById("valorlinhab").innerHTML=baunilha();
</script>
而且,这就是函数的调用方式:
<tr>
<td><img src="/imagens/DOB_Baunilha.PNG" style="vertical-align: middle" alt="Ima_Bau"> </td>
<td>Caixa de 42 Unidoses de Detergente Ultra-Concentrado aroma Baunilha</td>
<td><input id="quantbaunilha" name="quantbaunilha" value="0" maxlength="2" type="text" size="2" onchange="baunilha()"></td>
<td><input id="valorunib" name="valorunib" size="6" value="5.58">€</td>
<td><input id="valorlinhab" name="valorlinhab" size="8" value="0.00">€</td>
</tr>
所以,我希望函数apears的结果在text-box id =“valorlinhab”中。 我尝试了w3schools的例子,但是它们没有用,就像网络上的其他例子一样。 有人可以帮助我吗?任何帮助都很好。 提前谢谢你。
答案 0 :(得分:0)
您使用innerHTML
将结果放入元素的内部HTML中,以获得包含开始和结束标记的标记(如<p>
)。
此外,由于您将onchange
事件用于<input>
事件,因此您也应将值设置移至该功能中。
对于<script type="text/javascript">
function baunilha() {
var qb=document.getElementById("quantbaunilha").value;
var prbau=5.58;
var totbau=qb*prbau;
document.getElementById("valorlinhab").value=totbau;
}
</script>
,您可以设置值属性:
var totbau=qtb*prbau
这应该可以解决问题。
这是一个带有工作示例的JSFiddle:http://jsfiddle.net/U7ZZh/
此外,您在var totbau=qb*prbau
应为{{1}}
答案 1 :(得分:0)
您需要使用值而不是innerHTML。此外,您正在使用&#34; qtb&#34;而不是&#34; qb&#34;在你的计算中。您还应该在baunilha函数内设置值。最后,您必须将一个事件监听器绑定到输入,以便它将调用javascript函数。
我还添加了一行来检查输入是否实际上是一个数字。
function baunilha()
{
var qb=document.getElementById("quantbaunilha").value;
//check that quantbaunilha is a number
if(isNaN(parseFloat(qb)))
{
alert('Enter a number');
return;
}
var prbau=5.58;
document.getElementById("valorlinhab").value=qb*prbau;
}
document.getElementById("quantbaunilha").addEventListener('change', baunilha);
这是一个小提琴:http://jsfiddle.net/uLfcG/3/