1

当用户在模糊的文本框中输入一个值时,我有订单列表我想在服务器端验证该值,然后根据服务器的真假显示正确或错误的图标。我正在使用struts2,jquery。

我在ajax方面很差,所以请帮助我尽可能详细地回答

提前致谢。

更新感谢您的回复,我已经尝试过Fluidbyte解决方案,但作为回应,我得到了整个 html。我在不同地方的条目如下。

struts.xml

<action name="validate" class="orders" method="validate"/>

jsp

<td><s:textfield name="serial" id="serial" theme="simple"/></td>
<td><SPAN id="result"></SPAN> </td>

动作类

public String validate() {
result = myOrdSvc.validate(value);
return SUCCESS;
}

/**
 * @param result
 *            the result to set
 */
public void setResult(String result) {
    this.result = result;
}

/**
 * @return the result
 */
public String getResult() {
    return result;
}

订单.js

         $('#serial').blur(function(){
            $.post('validate',{ value: $(this).val() },function(data){
               $("#result").html(data);
            });
        });

结果“数据”完全是一个html,而不仅仅是我返回的“真”“假” 。

4

3 回答 3

0

从服务器端获得响应非常容易:

$('input').blur(function(){
    $.post('path/to/file.ext',{ value: $(this).val() },function(data){
       // 'data' is whatever the server returns...
    });
});

在服务器端,您将获得一个名为“值”的 POST,然后您可以对其进行评估。

回调函数返回“数据”,其中包含您的脚本返回的任何内容

于 2012-05-29T21:41:15.200 回答
0

调用jQuery ajax服务器页面并让服务器给出响应并基于该响应显示相关图像

$(function(){

  $("#txtUserName").keyup(function(){
    $.get("someserverpage.php?key="+$(this).val(),function(data){
      //check value in data variable and do whatever you want to do (show hide image)
    });

  });    

});
于 2012-05-29T21:42:14.827 回答
0

除了Fluidbyte解决方案之外,Action 类的变化是,

再次感谢Fluidbyte

1) 将返回类型更改为 void

2)使用PrintWriter将结果写入jsp。

public void validate() {
   result = myOrdSvc.validate(value);
   PrintWriter writer = ServletActionContext.getResponse().getWriter();
   writer.write(result);
}
于 2012-05-31T21:44:57.017 回答