将html输入文本的值传递给Javascript函数并获取结果

时间:2014-03-27 22:59:37

标签: javascript html

这是我第一次使用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的例子,但是它们没有用,就像网络上的其他例子一样。 有人可以帮助我吗?任何帮助都很好。 提前谢谢你。

2 个答案:

答案 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/