【问题标题】:how to change the value of textfield + jQuery + Struts2如何更改文本字段的值 + jQuery + Struts2
【发布时间】:2012-03-30 23:17:54
【问题描述】:

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

【问题讨论】:

  • 对于结果 b 你需要一些服务器结果
  • @YassineGeom:确保您使用 struts2 标签标记 S2 问题以获取更多信息。

标签: java jquery ajax forms struts2


【解决方案1】:

@alexanderb 已经提供了大部分信息,我相信 Jquery 是不错的选择,现在让我们来看看关于在代码中使用 AJAX 的问题的后半部分。您可以通过多种方式从您的操作类发送结果。

  1. 从您的操作类返回 JSON 并使用上述代码。
  2. 在您的 S2 代码中使用流结果类型并将数据放在文本字段中。

我仍然相信 JSON 与 Jquery 是一个不错的选择,它不仅为您提供了在未来轻松扩展功能的可行性,而且还提供了一种简洁的方式。Struts2 提供了一个插件,可以将您的操作类发送的数据转换为JSON 和所有你将在 UI 中解析 JSON 数据以填充文本框。有关如何在 s2 中使用 JSON 的详细信息,请参阅 JSON 插件

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

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

【讨论】:

    【解决方案2】:

    应该很容易。假设您有将值作为字符串并返回一些字符串的操作,可在 '/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);
         }); 
    
      });
    
    });
    

    【讨论】:

    • @YassineGeom:是的,它的 Jquery 代码比普通的 javascript 更简洁易用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 2021-05-12
    • 2023-01-13
    • 2018-11-21
    • 1970-01-01
    • 2015-05-24
    相关资源
    最近更新 更多