如何更改textfield + jQuery + Struts2的值

时间:2012-03-30 23:17:54

标签: java jquery ajax forms struts2

我有两个文本字段A,B:我想做一些事情,比如当我在文本字段A中输入内容时,此值将在某些操作中使用它,结果将显示在文本字段B中,而不使用ajax单击提交按钮。 我该怎么办?请注意我是使用struts2

2 个答案:

答案 0 :(得分:1)

@alexanderb已经提供了大部分信息,我相信Jquery是一个很好的方法,现在让我们来讨论关于在代码中使用AJAX的问题的后半部分。您可以通过几种方式从动作类中发送结果。

  1. 从您的操作类返回JSON并使用上面的代码。
  2. 在S2代码中使用流结果类型并将数据放在文本字段中。
  3. 我仍然认为JSON与Jquery是一个很好的方法,它不仅为您提供了在未来轻松扩展功能的可行性,而且还提供了一种干净的方式.Struts2提供了一个插件,可以将从您的动作类发送的数据转换为JSON以及您将在UI中解析JSON数据以填充文本框。有关如何在s2中使用JSON的详细信息,请参阅JSON插件以获取详细信息

    使用JSON插件,您的流程将是

    • 在文本框中的特定事件上调用Action类。
    • 使用S2-JSon插件配置您的操作以返回JSON数据。
    • Action会将JSON返回给Jquery代码。
    • 解析JSON数据并使用值
    • 填充文本框

答案 1 :(得分:0)

应该很容易。假设您有一个将值作为字符串并返回一些字符串的操作,可以使用'/ app / service'URl。

您可以为此创建此类代码:

$(function() {

  $('#text_1').on('keyup', function() {

     var value = $(this).val();
     $.post('/app/service', JSON.stringify(value), function (r) {
       $('text_1').text(r);
     }); 

  });

});