jbeduhai 发表于 2013-1-23 02:51:45

struts2 ajax 验证输入值是否存在

struts2 ajax 验证输入值是否存在
今天做了关于struts2 ajax 验证输入是否存在的功能,现在分享给大家,希望大家多多提意见!!!
input.jsp 页面代码:

<html>
<body>
<s:form id="form1" action="" method="post" theme="simple">
<tr>
<td height="35" bgcolor="#FFFFFF" class="input2" align="left">
   <span class="STYLE57">*</span>标题      
</td>
<td bgcolor="#FFFFFF">
<s:textfield name="title" id="title" maxlength="50"
 <span id="checkTitle" class="STYLE57">   (1)//验证时要显示的返回结果,存在或者可以使用
 <a href="#" color: #ff0000;">javascript: validteTitle();"><u>验证标题是否可用</u>
 </a>
 </span>
</td>
</tr>
</s:form>

<script>
 
 function validteTitle() {
  if (document.getElementById("title").value == "") {
   alert("请输入标题");
   document.forms["form1"].title.focus();
   return false;
  }
  document.forms["form2"].title.value = document.forms["form1"].title.value;  (2) //将当前form下的文本框值传入验证的from里
  document.forms["form2"].submit();
 }
</script>

<s:form id="form2" action="examinTitle" target="frame1">  (3)//验证的form
   <input type="hidden" name="title">
</s:form>
<iframe id="frame1" name="frame1" height="0" src="about:blank"></iframe>  (4)//验证返回结果将做一个iframe弹出来
</body>
</html>
action 代码:
public class examinTitleAction extends ActionSupport{
 private String title;  (5)//struts2 jsp页面标签 传来的值
 public void getTitle(){
  return title;
 }
 public String setTitle(String title){
  this.title = title;
 }
 public String examinTitle() {
  String res = "";
  int num = service.examinCopyTitle(title); //调用查询方法,是否存在条件
  if (num == 0) {
   res = "success"; //如果不存在,返回成功标志
  } else {
   res = "nosuccess";//如果存在,返回不成功标志
  }
  return res;
 }
}
struts.xml 代码:
 <action name="examinTitle" method="examinTitle" class="infomationAction">
   <result name="success">/examin.jsp
   </result>
   <result name="nosuccess">/examinNo.jsp
   </result>
 </action>
 
examin.jsp  代码:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<script language="JavaScript">
<!--
  parent.document.getElementById("checkTitle").innerHTML =   (6) //与(1)对应,要显示的返回值
  "<font color='#FF0000'>标题已经存在</font>";
  
  parent.document.forms["form1"].subject.focus();
//-->
</script>
examinNo.jsp  代码:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<script language="JavaScript">
<!--
   if(parent.document.forms["form1"].flag.value==false){
   }else{
   parent.document.getElementById("checkTitle").innerHTML =  (6) //与(1)对应,要显示的返回值
   "<font color='#00FF00'>标题可以使用</font>";
   }
  
//-->
</script>
 
注:struts2 ajax 验证时:form  要注明  theme="simple" 属性才能起作用,不然无法验证
页: [1]
查看完整版本: struts2 ajax 验证输入值是否存在