<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="../js/jquery.validate.js"></script>
<script type="text/javascript" src="../js/ex.jquery.validate.js"></script>
//表单字段校验
$("#addIepg").validate({
rules: {
"iepgSiteVO.name":{
required: true,//必填字段
regexMatch: "^[a-zA-Z0-9_]+$",//只能含字母、数字和下划线
checkNameIepg:true,//ajax 校验$.validator.addMethod("checkNameIepg",function(name){
minlength:4,
maxlength:30//名称的长度必须为4-30个字符位
}
},//校验不通过显示的提示信息
messages: {
"iepgSiteVO.name":{
required: '<s:text name="msg.portalMS.sitemgr.name.required" />',
regexMatch: '<s:text name="msg.portalMS.sitemgr.name.validate" />',
minlength: '<s:text name="msg.portalMS.sitemgr.name.length" />',
maxlength: '<s:text name="msg.portalMS.sitemgr.name.length" />'
}
},
errorPlacement: function(error, element) {
error.appendTo( element.parent() );
}
});
});
//ajax校验名称
$.validator.addMethod("checkNameIepg",function(name){
var result = true;
$.ajax({
cache:false,
async:false,
type:"POST",
url: "../Site/checkNameIepg.action",
data: "iepgSiteVO.name="+name,
success: function(checkFlag){
if(checkFlag=='false'){
result = false;
}else{
result = true;
}
//恢复提交按键功能
document.getElementById("showButton").disabled=false;
} ,
error: function(){
//恢复提交按键功能
document.getElementById("showButton").disabled=false;
}
});
return result;
},'<font color="red"><s:text name="msg.portalMS.iepg.siteName.existed" /></font>');
sitemanage.xml
<action name="checkNameIepg" class="springSiteMgrAction" method="checkNameIepg">
<result type="json">
<param name="root">checkFlag</param>
</result>
</action>
SiteMgrAction.java
private Boolean checkFlag = Boolean.valueOf(true);
/**
* Ajax校验站点名称是否已存在
* @return
*/
public String checkNameIepg()
{
try
{
FormBeanUtil.stripStringProperty(iepgSiteVO);
int rowCountName = siteService.findSameNameIepgCount(iepgSiteVO);
if (rowCountName > 0)
{
this.checkFlag = Boolean.valueOf(false);
}
}
catch (Exception e)
{
return "error";
}
return "success";
}
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="page" uri="/WEB-INF/tlds/paginated.tld"%>
<%@ include file="../common/language.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><s:text name="msg.portalMS.siteMgr.list"/>——<s:text name="msg.portalMS.siteMgr.add"/></title>
<link href="../style/base.css" rel="stylesheet" type="text/css" />
<%@ include file="../common/commonJS.jsp" %>
<script type="text/javascript" src="../js/Calendar/WdatePicker.js"></script>
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="../jsCBB/jquery.js"></script>
<script type="text/javascript" src="../js/dialogShow.js"></script>
<script type="text/javascript" src="../js/jquery.validate.js"></script>
<script type="text/javascript" src="../js/ex.jquery.validate.js"></script>
<script type="text/javascript" src="../js/ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../js/ext/ext-all.js"></script>
<script type="text/javascript">
//防重复提交按键功能
var timerID;
function activethis(){ //1秒后新增按钮恢复 可用
timerID=setTimeout('document.getElementById("showButton").disabled=false',1000);
alert("timerID"+timerID);
$("#showButton").submit();//提交表单
}
jQuery(document).ready(function() {
//初始化的时候 同步系统隐藏 系统名显示
$("#tr_system").hide();
$("#siteName" ).focus();
ajax提交表单
$.validator.setDefaults({
submitHandler: function(form) {
//取消由 setTimeout() 方法设置的 timeout
clearTimeout(timerID);
//提交表单后新增按钮置灰 不可用
document.getElementById("showButton").disabled=true;
var system="";
$('input[type="checkbox"][name="systems"]:checked').each(function(){
system=system +","+ $(this).val();
alert("system"+system);
});
Ext.Ajax.request({
timeout: 100000,//超时时间100秒
url:'../Site/checkSystem.action',
params:{'id':system},
success: function(_response, action) {
if(_response.responseText=='ok'){
showConfirmAndCancel('<s:text name="msg.portalMS.page.message.tip"/>','<s:text name="msg.portalMS.sitemgr.businessSystem.submit.confirm" />',form);
}
else if(_response.responseText=='null'){
showText('<s:text name="msg.portalMS.page.message.tip"/>','<s:text name="msg.portalMS.sitemgr.businessSystem.noSelected" />',400,200,0,true);
}
else{
showText('<s:text name="msg.portalMS.page.message.tip"/>','<s:text name="msg.portalMS.sitemgr.businessSystem.error" />',400,200,0,true);
}
//恢复提交按键功能
document.getElementById("showButton").disabled=false;
},
failure: function(_response, action) {
var reqst=_response.status; // 根据返回的状态码值判断是否超时
if(reqst=='-1'){ // 超时的状态码为 -1
showText('<s:text name="msg.portalMS.page.message.tip"/>','<s:text name="msg.portalMS.sitemgr.businessSystem.timeout" />',400,200,0,true);
}
else
{
showText('<s:text name="msg.portalMS.page.message.tip"/>','<s:text name="msg.portalMS.failured.message.tip" />',400,200,0,true);
}
//恢复提交按键功能
document.getElementById("showButton").disabled=false;
}
});
}
});
//表单字段校验
$("#addIepg").validate({
rules: {
"iepgSiteVO.name":{
required: true,//必填字段
regexMatch: "^[a-zA-Z0-9_]+$",//只能含字母、数字和下划线
checkNameIepg:true,//ajax 校验$.validator.addMethod("checkNameIepg",function(name){
minlength:4,
maxlength:30//名称的长度必须为4-30个字符位
},
"iepgSiteVO.alias":{
required: true,
regexMatch: "^([\\w\\s\u4e00-\u9fa5]+)$",
checkAliasIepg:true,
minlength:2,
maxlength:30
},
"iepgSiteVO.context":{
required: true,
regexMatch: "^[a-zA-Z0-9_]+$",
checkContext:true,
minlength:1,
maxlength:10
},
"iepgSiteVO.remark":{
required: true,
minlength:1,
maxlength:50
}
},//校验不通过显示的提示信息
messages: {
"iepgSiteVO.name":{
required: '<s:text name="msg.portalMS.sitemgr.name.required" />',
regexMatch: '<s:text name="msg.portalMS.sitemgr.name.validate" />',
minlength: '<s:text name="msg.portalMS.sitemgr.name.length" />',
maxlength: '<s:text name="msg.portalMS.sitemgr.name.length" />'
},
"iepgSiteVO.alias":{
required: '<s:text name="msg.portalMS.sitemgr.alias.required" />',
regexMatch: '<s:text name="msg.portalMS.sitemgr.alias.validate" />',
minlength: '<s:text name="msg.portalMS.sitemgr.alias.length" />',
maxlength: '<s:text name="msg.portalMS.sitemgr.alias.length" />'
},
"iepgSiteVO.context":{
required: '<s:text name="msg.portalMS.sitemgr.context.required" />',
regexMatch: '<s:text name="msg.portalMS.sitemgr.context.validate" />',
minlength: '<s:text name="msg.portalMS.sitemgr.context.length" />',
maxlength: '<s:text name="msg.portalMS.sitemgr.context.length" />'
},
"iepgSiteVO.remark":{
required: '<s:text name="msg.portalMS.sitemgr.remark.required" />',
minlength: '<s:text name="msg.portalMS.sitemgr.remark.length" />',
maxlength: '<s:text name="msg.portalMS.sitemgr.remark.length" />'
}
},
errorPlacement: function(error, element) {
error.appendTo( element.parent() );
}
});
});
//ajax校验名称
$.validator.addMethod("checkNameIepg",function(name){
var result = true;
$.ajax({
cache:false,
async:false,
type:"POST",
url: "../Site/checkNameIepg.action",
data: "iepgSiteVO.name="+name,
success: function(checkFlag){
if(checkFlag=='false'){
result = false;
}else{
result = true;
}
//恢复提交按键功能
document.getElementById("showButton").disabled=false;
} ,
error: function(){
//恢复提交按键功能
document.getElementById("showButton").disabled=false;
}
});
return result;
},'<font color="red"><s:text name="msg.portalMS.iepg.siteName.existed" /></font>');
//ajax校验别名
$.validator.addMethod("checkAliasIepg",function(alias){
var result = true;
$.ajax({
cache:false,
async:false,
type:"POST",
url: "../Site/checkAliasIepg.action",
data: "iepgSiteVO.alias="+alias,
success: function(checkFlag){
if(checkFlag=='false'){
result = false;
}else{
result = true;
}
//恢复提交按键功能
document.getElementById("showButton").disabled=false;
} ,
error: function(){
//恢复提交按键功能
document.getElementById("showButton").disabled=false;
}
});
return result;
},'<font color="red"><s:text name="msg.portalMS.iepg.siteAlias.existed" /></font>');
//ajax校验上下文
$.validator.addMethod("checkContext",function(context){
var result = true;
$.ajax({
cache:false,
async:false,
type:"POST",
url: "../Site/checkContext.action",
data: "iepgSiteVO.context="+context,
success: function(checkFlag){
if(checkFlag=='false'){
result = false;
}else{
result = true;
}
//恢复提交按键功能
document.getElementById("showButton").disabled=false;
} ,
error: function(){
//恢复提交按键功能
document.getElementById("showButton").disabled=false;
}
});
return result;
},'<font color="red"><s:text name="msg.portalMS.iepg.siteContext.existed" /></font>');
//两个radioButton间的切换(高清、标清)
function chooseRadio(){
var radioNameList = document.getElementsByName("iepgSiteVO.videoType");
if(radioNameList[0].checked){
return false;
}else{
radioNameList[0].checked
}
if(radioNameList[1].checked){
return false;
}else{
radioNameList[1].checked
}
}
//返回站点列表
function queryIepg(){
var url = "queryIepg.action?queryFlag=true";
window.location=url;
}
//选中业务系统要显示业务系统对应的系统名称
function changeDisplay(){
var systemList;
var id="";
var isShow=false;
var div=document.getElementById("businessSys");
var ckb=document.getElementsByTagName("INPUT");
var div1=document.getElementById("div_systm");
var ckb1=document.getElementsByTagName("INPUT");
for(i=0;i <ckb.length;i++)
{ //业务系统
if(ckb[i].type== "checkbox"&& ckb[i].parentNode==div)
//业务系统被勾选
if(ckb[i].checked)
{
alert(id=id+","+ckb[i].id );
id=id+","+ckb[i].id;
isShow=true;
}
}
if(isShow)
{ //如果业务系统有值被勾选 则显示 同步系统名称
$("#tr_system").show();
//根据业务系统ID 查询所配置的同步系统
var url='../Site/readBussinessSystem.action?ts=' + new Date().getTime()+'&id='+id;
//通过ajax 查询 同步系统
$.getJSON(url, null, function(data){
systemList = data.sysList;
//同步系统
for(j=0;j <ckb1.length;j++)
{
if(ckb1[j].type== "checkbox"&& ckb1[j].parentNode==div1){
//$(ckb1[j]).removeAttr( "checked" );
$(ckb1[j]).hide();
var t =$(ckb1[j]).attr('logo');
$('#sys'+t).hide();
}
}
//属于 系统的同步系统则显示
for(j=0;j <ckb1.length;j++)
{
if(ckb1[j].type== "checkbox"&& ckb1[j].parentNode==div1)
{
for (var q= 0; q < systemList.length; q++)
{
if(systemList[q] == ($(ckb1[j]).attr("logo")))
{
$(ckb1[j]).show();
var t =$(ckb1[j]).attr('logo');
$('#sys'+t).show();
}
}
if ($(ckb1[j]).is(":hidden"))
{
$(ckb1[j]).removeAttr( "checked" );
}
}
}
});
}
else
{//没选中则隐藏 同步系统
$("#tr_system").hide();
for(j=0;j <ckb1.length;j++)
{ if(ckb1[j].type== "checkbox"&& ckb1[j].parentNode==div1){
$(ckb1[j]).removeAttr( "checked" );
}
}
}
}
</script>
</head>
<body>
<s:form action="addIepg" theme="simple" οnsubmit="return false;" validate="false" namespace="/Site" >
<div class="r_main">
<!---导航 --->
<div class="r_nav">
<div class="left"><img src="../images/nav_l.gif" width="5" height="29" /></div>
<div class="ct"><s:text name="msg.portalMS.system.current.position"/><s:text name="msg.portalMS.publishmgr.label.site.manage"/> > <s:text name="msg.portalMS.siteMgr.list"/> > <s:text name="msg.portalMS.siteMgr.add"/></div>
<div class="right"><img src="../images/nav_r.jpg" width="5" height="29" /></div>
</div>
<!---主体 --->
<div class="info_tit">
<div class="left"><s:text name="msg.portalMS.siteMgr.add"/></div>
</div>
<div class="page_tb">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="in_table long">
<tr>
<td class="col1 must"><s:text name="msg.portalMS.sitemgr.name"/><s:text name="msg.portalMS.colon.label"/></td>
<td width="84%">
<s:textfield name="iepgSiteVO.name" theme="simple" id="siteName"/>
<s:if test='%{action != "toAdd"}'>
<s:fielderror fieldName="iepgSiteVO.siteName" cssStyle="color:red" theme="simple"/>
</s:if>
<font color='gray'> <s:text name="msg.portalMS.sitemgr.name.validate" /></font>
</td>
</tr>
<tr class="bule">
<td class="col1 must1"><s:text name="msg.portalMS.sitemgr.aliasName"/><s:text name="msg.portalMS.colon.label"/></td>
<td width="84%">
<s:textfield name="iepgSiteVO.alias" theme="simple" id="aliasName"/>
<s:if test='%{action != "toAdd"}'>
<s:fielderror fieldName="iepgSiteVO.aliasName" cssStyle="color:red" theme="simple"/>
</s:if>
<font color='gray'> <s:text name="msg.portalMS.sitemgr.alias.validate" /></font>
</td>
</tr>
<tr>
<td class="col1 must"><s:text name="msg.portalMS.resource.videoType"/><s:text name="msg.portalMS.colon.label"/></td>
<td width="84%"> <!-- 标清 高清--> 默认值
<s:radio name="iepgSiteVO.videoType" list="#{'0':getText('msg.portalMS.resource.videoType.0'),'1':getText('msg.portalMS.resource.videoType.1')}" listKey="key" listValue="value" value="0" οnclick="chooseRadio()"></s:radio>
<s:if test='%{action != "toAdd"}'>
<s:fielderror fieldName="iepgSiteVO.videoType" cssStyle="color:red" theme="simple"/>
</s:if>
</td>
</tr>
<tr class="blue">
<td class="col1 must1" valign="middle"><s:text name="msg.portalMS.sitemgr.context.businessSystem"/><s:text name="msg.portalMS.colon.label"/>
</td>
<td style="background-color:#e9f0f9">
<div id='businessSys'>
<s:iterator value="bussinessSystemList" id="bussinessSystem" status="i">
<input type="checkbox" name="bussinessSystems" value="<s:property value="#bussinessSystem" />" id="<s:property value="#bussinessSystem"/>"
οnclick="changeDisplay()"/>
<span><s:property value="#bussinessSystem"/></span>
</s:iterator>
</div>
</td>
</tr>
<tr id="tr_system">
<td class="col1 must2" valign="middle"><s:text name="msg.portalMS.sitemgr.sncy.businessSystem"/><s:text name="msg.portalMS.colon.label"/>
</td>
<td>
<div id="div_systm">
<s:iterator value="systemsList" id="system" status="i">
<input type="checkbox" name="systems" value="<s:property value="#system" />" logo="<s:property value="#system"/>"
/><span id="sys<s:property value="#system"/>"><s:property value="#system"/></span>
</s:iterator>
</div>
</td>
</tr>
<tr>
<td class="col1 must2" valign="middle"><s:text name="msg.portalMS.sitemgr.context"/><s:text name="msg.portalMS.colon.label"/></td>
<td width="84%">
<s:textfield name="iepgSiteVO.context" theme="simple" id="context"/>
<s:if test='%{action != "toAdd"}'>
<s:fielderror fieldName="iepgSiteVO.context" cssStyle="color:red" theme="simple"/>
</s:if>
<font color='gray'> <s:text name="msg.portalMS.sitemgr.context.validate" /></font><br/>
<font color='gray'><s:text name="msg.portalMS.iepg.siteContext.desc" /></font>
</td>
</tr>
<tr class="blue">
<td width="205" class="col1 must3" valign="middle"><s:text name="msg.portalMS.sitemgr.remark"/><s:text name="msg.portalMS.colon.label"/></td>
<td width="84%" style="background-color:#e9f0f9">
<s:textarea name="iepgSiteVO.remark" theme="simple" rows="10" id="remark" cssClass="m_g text_eara"/><br/>
<s:if test='%{action != "toAdd"}'>
<s:fielderror fieldName="iepgSiteVO.remark" cssStyle="color:red" theme="simple"/>
</s:if>
</td>
</tr>
</table>
<div class="info">
<input type="submit" id="showButton" οnclick="this.disabled=true;activethis();" value="<s:text name="msg.portalMS.system.ok"/>"/>
<!--<button name="addIepg"><s:text name="msg.portalMS.system.ok"/></button>-->
<input type="button" οnclick="queryIepg();setTimeout(function(){load()},tipTime);" value="<s:text name="msg.portalMS.system.goBack"/>"/>
</div>
</div>
</div>
</s:form>
</body>
</html>