我们可以从html文本框中调用java函数吗?

时间:2012-03-01 12:03:25

标签: javascript mysql ajax jsp netbeans

我正在使用jsp,mysql,使用netbeans和mysql的ajax进行Web项目。 我有3个文本框,2个用于从用户那里获取输入。第3个文本框应显示2个输入值的乘积。

怎么做? 我应该进行ajax调用还是可以在3文本框中调用java函数。

代码是

<input type="text" value="" name="quantity"/>
</td><td><input type="text" value="" name="price"/>
</td><td><input type="text" value="" name="total"/>

在名为“total”的文本框的value属性中,我可以调用java函数吗? 像value="getTotal()"这样的东西,但如果我可以如何访问其他两个值。

否则我应该拨打ajax电话吗?

4 个答案:

答案 0 :(得分:2)

如果您的要求与您要求的一样基本,则可以使用简单的JavaScript来完成。 将以下内容添加到脚本

function doTheMath(){
 var quantity = document.getElementById("quantity").value;
 var price = document.getElementById("price").value;
 var product = parseInt(quantity, 10) * parseFloat(price);
 document.getElementById("total").value = product;

} 并将html更改为以下内容,以便在发生更改时调用javascript函数。

<input type="text" value="" id="quantity" onchange="doTheMath()"/> 

不建议服务器调用简单数学。

答案 1 :(得分:1)

你应该使用jQuery。使用jQuery,您可以根据用户在其他字段中键入的内容动态设置文本框的值。我最近为我为客户做的购物篮实施了这个。 jQuery也有一个非常容易使用的.ajax()方法。

查看以下资源:

http://docs.jquery.com/How_jQuery_Works

http://api.jquery.com/category/ajax/

抱歉,我没有时间撰写编码回复。希望这无论如何都有帮助。

答案 2 :(得分:1)

嗨朋友不需要去java功能......你可以做简单的客户端

  <td><input type="text" value="" name="quantity" onblur="Calculate()"/>
  </td><td><input type="text" value="" name="price" onblur="Calculate()"/>
  </td><td><input type="text" value="" name="total"/>


  <script type="text/javascript">

  function Calculate()
  {

       var txt1 = document.getElementById("quantity");
       var txt2 = document.getElementById("price");
       var txt3 = document.getElementById("total");
       if ((txt1.value != "") && (txt2.value != ""))
       {
            txt3.value = parseInt(txt1.value) * parseInt(txt2.value); 
       }

  }

  </script>

嗨朋友还有一件事总文本框应该是只读的,或者你可以使用标签....

感谢

答案 3 :(得分:0)

  <HTML>
  <HEAD>
 <TITLE></TITLE>
     <script type="text/javascript">

     function Calculate()
      {

       var txt1 = document.getElementById("FirstNo");
       var txt2 = document.getElementById("SecondNo");
       var txt3 = document.getElementById("Output");
       if ((txt1.value != "") && (txt2.value != ""))
       {
            txt3.value = parseInt(txt1.value) * parseInt(txt2.value); 
       }

      }

    </script>

 <input id="FirstNo" type="text" value="" onblur="Calculate()" style="width:50px"/> * 
 <input id="SecondNo" type="text" value="" onblur="Calculate()" style="width:50px"/>
 <input id="Output" type="text" style="width:50px"/>
 </FORM>
 </BODY>
 </HTML>