2012-03-01 85 views
1

我正在做一个使用NetBeans和MySQL使用jsp,mysql,ajax的web项目。 我有3个文本框,2是从用户的输入。第三个文本框应显示2个输入值的乘积。我们可以从html文本框中调用java函数吗?

如何做到这一点? 我应该做一个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"/> 

在文本框的值属性命名为“总”我可以调用一个Java函数? 类似value="getTotal()",但如果我可以如何访问其他两个值。

否则我应该做一个ajax调用?

+1

你不能在服务器上刚刚从页面中调用Java函数W/O型AJAX或其他网络请求。 – kirilloid 2012-03-01 12:07:47

+3

'java'到'javascript'就像汽车去地毯! – 2012-03-01 12:08:11

+0

因为总数=价格*数量我会在JS中实现它,但在提交时添加服务器端验证 - 只是为了确保没有人与您的客户端代码混淆。 – alfasin 2012-03-01 12:08:43

回答

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> 

喜的朋友一件事总文本框应该是只读或者您可以使用标签....

感谢

+0

非常感谢你我从它的代码本身 – Neal 2012-03-02 09:06:19

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()"/> 

使服务器呼吁简单的数学不是suggestable。

1

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

查阅这些资源:

http://docs.jquery.com/How_jQuery_Works

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

对不起,我没有时间来写一个编码响应。无论如何希望这有助于。

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> 
相关问题