我只写重点代码:
jsp:
<script type="text/javascript">
idCardToEmp = function(){
var url="idCardToEmpActualSalary";
var idCard = $("#idCard").val();
$.post(url,{"idCard":idCard},callBack,'json');
}
callBack = function(data){
var mess = data.message;
$("#inforDiv")(mess);
}
</script>
<form action="addActualSalary" method="post" name="myForm">
<tr>
<td>身份证:</td>
<td><input type="text" id="idCard" name="idCard" onblur="idCardToEmp()" maxlength="18">
<div id="inforDiv"></div>
</td>
</tr>
action:
public String idCardToEmp(){
System.out.println(this.getIdCard());
Employee employee = this.employeeService.queryEmployeeByIdCard(this.getIdCard());
if(employee != null){
this.setMessage("有该用户");
}else{
this.setMessage("该身份证不是内部人员");
}
System.out.println(this.getMessage());
return "ok";
}
struts.xml
<action name="*ActualSalary" class="actualSalaryAction" method="{1}">
<result name="ok" type="json"></result>
<result name="success">ActualSalary.jsp</result>
</action>
我在jsp的text里面输入身份证,然后离开该文本框,我可以获取回调函数给的信息,就是action里message
可是问题在于:我提交之后。第二次,这个回调函数就失灵了。onblur事件照样执行,$.post()照样执行,但是回调函数不在执行了,失灵了。
第一次可以有效果,只要不提交,怎么都没事,但是只要提交过一次,这个$.post()的回调函数便失灵。
反反复复研究了好久,代码重写,JSP页面重写,一切的一切,都好迷茫,请知道的朋友帮忙解决一下。。感激不尽。
jsp action callback struts
帮顶。。。难啊,还要自己申请账号才能继续发帖子,想哭了都。。谁知道答案赶快告诉我吧。。谢谢了等到何时答案马上给分。。不拖泥带水。时间戳:var url="idCardToEmpActualSalary?&_dc="+new Date().getTime();
再设置 cache: false,试一下var url="idCardToEmpActualSalary";
提示:url后面加个时间戳。。。搞定
还是了解下异步提交的原理!