Можем ли мы вызвать функцию Java из текстового поля HTML? - PullRequest
2 голосов
/ 01 марта 2012

Я делаю веб-проект, используя jsp, mysql, ajax, используя netbeans и mysql. У меня 3 текстовых поля, 2 для ввода от пользователя. 3-е текстовое поле должно показывать произведение двух входных значений.

Как это сделать? Должен ли я сделать вызов ajax или я могу вызвать функцию java в текстовом поле 3.

Код

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

В атрибуте значения текстового поля с именем "total" я могу вызвать функцию java? что-то вроде value="getTotal()", но если я могу, как я могу получить доступ к двум другим значениям.

В противном случае я должен сделать вызов ajax?

Ответы [ 4 ]

2 голосов
/ 01 марта 2012

Если ваше требование такое же основное, как и то, что вы спрашиваете, вы можете сделать это с помощью простого 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 при каждом изменении.вызов сервера для простой математики не рекомендуется.

1 голос
/ 01 марта 2012

Привет, друг, не нужно переходить в 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>

Привет, друг, еще одна вещь, всего текстовое поле должно быть только для чтения, или вы можете использовать метку ....

спасибо

1 голос
/ 01 марта 2012

Вы должны использовать jQuery. С помощью jQuery вы можете динамически устанавливать значение текстового поля в зависимости от того, что пользователь вводит в других полях. Я недавно реализовал это для корзины покупок, которую я сделал для клиента. В jQuery также есть метод .ajax (), который довольно прост в использовании.

Проверьте эти ресурсы:

http://docs.jquery.com/How_jQuery_Works

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

Извините, у меня нет времени написать закодированный ответ. Надеюсь, это поможет в любом случае.

0 голосов
/ 01 марта 2012
  <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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...