2012-02-20 3 views
0

У меня есть два текстовых поля, и я хочу отправить эти два текстовых поля на одну страницу jsp. Получив эти два имени в check.jsp, я сделаю некоторый расчет и верну результат json в третье текстовое поле, но я думаю, что я что-то делаю неправильно. Может кто-нибудь дать мне идею?отправить несколько текстовых полей на одну страницу jsp по jquery

<script type="text/javascript"> 
     $(document).ready(function() { 
     $("#textbox").keyup(function() {// do i need to write another onkey up for another text box? 
$.getJSON('check.jsp', { 
    textboxname: this.value// here how can i send another text box name to check.jsp? 
},function(data){ 
    // get data 
}); 
}); 
}); 
</script> 

HTML

<input type="text" id="textbox" name="textboxname"/>// name goes to check.jsp 
<input type="text" id="textbox1" name="textboxname1"/>// how can i send this text box's 
name to that same check.jsp 
<input type="text" id="textbox2" name="textboxname2"/>// here i want to display the 
result received from check.jsp 

стороне сервера (check.jsp)

String firsttextboxname=request.getParameter("firsttextboxname"); 
String firsttextboxname1=request.getParameter("firsttextboxname1"); 
JSONObject jsonObj= new JSONObject(); 
jsonObj.put("isTrue","true"); 
response.setContentType("application/json"); 
response.getWriter().write(jsonObj.toString()); 

ответ

1
<input type="text" id="textbox" class="submitme" name="textboxname"/>// name goes to check.jsp 
<input type="text" id="textbox1" class="submitme" name="textboxname1"/>// how can i send this text box's 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".submitme").keyup(function() { 
     $.getJSON('check.jsp', { 
      textboxname: jQuery("#textbox").val(), textboxname2: jQuery("#textbox1").val() 
      },function(data){ 
       if (data.textboxname != "" && data.textboxname2 != "") { 
        jQuery("#textbox2").val(JSON.stringify(data)); 
       } 
       else { 
        jQuery("#textbox2").val(""); 
       } 
      } 
     }); 
     }); 
    }); 
</script> 

------ ИЛИ КАК POST -------- ---

$.ajax({ 
    type: 'POST', 
    url: 'check.jsp', 
    data: { textboxname: jQuery("#textbox").val(), textboxname2: jQuery("#textbox1").val() }, 
    success: function(data) { 
    jQuery("#textbox2").text(JSON.stringify(data)); 
    }, 
    dataType: 'JSON' 
}); 

I'l Я прошу сказать, что вы делаете пару вещей, которые я бы не сделал.

1) Почему бы не отправить эти данные через POST

2) Зачем посылать данные каждый раз, когда клавиша нажата, то почему бы не связать это с кнопки отправки?

+0

спасибо за ваш быстрый ответ, но мне нужно написать два события для двух текстовых полей, не так ли? – Phillipa

+0

Я согласен с вашим первым, но кнопка отправки не существует, поэтому я хочу сделать это с помощью событий onkey. Для метода Post я могу отправить данные в servelt? – Phillipa

+0

Несомненно, это действительно зависит от вашей цели, что непонятно. Вы действительно хотите отправлять серверу каждый раз, когда кто-то нажимает клавишу? И вы хотите, чтобы любое ключевое событие представляло все текстовые поля каждый раз независимо от того, какое поле вызывает событие? –

Смежные вопросы