<script type="text/javascript">function checkSubmit() { 
if(required('wname') && required('month') &&  required('day') && 
required('fre','1') &&  required('num') && required('wbt') &&
required('wet') && required('wbt')  && required('wfre','1')){
if(document.myform.warnMode.checked==true){
if(required('sbt') && required('set') && required('mfre','1') && required('incepters')){
return true;
}
return false;
}else{
return true;
}

}
return false;
}
/*
 * names:元素ID
 * num:如果不为空,则判断是否为数字
 */
function required(names,num){
var va = document.getElementById(names).value;
if(va==''){
document.getElementById(names+"1").innerHTML='必填项';
return false;
}else{
document.getElementById(names+"1").innerHTML='';
}

if(num!='' && num!=null){
var reg = /^\d+$/;
    if(!reg.test(va)){
     document.getElementById(names+"1").innerHTML+=',只能为数字';
    return false;
    }
    return true;
}
return true;
}
</script>
</head>
<body onload="init();">
<form name="myform" id="myform" action="warnCondition_doAdd.action" method="post" onsubmit="return checkSubmit()">
<table id="mainTable" class="list_table" cellspacing="1"
cellpadding="1">
<tr>
<td colspan="4" class="edit_title">添加预警信息</td>
</tr>
<TR>
<tr>
<td colspan="4" class="edit_title1">基本信息</td>
</tr>
<tr> <td class=edit_label style="vertical-align: top;" width="150px">预警名称:</td>
<td class=edit_content width="300px"><input type="text" name="condition.warnName" id="wname" onblur="required('wname')" />
<div id="wname1" style="color: red;display:inline">*</div></td>
<td class=edit_label width="150px">预警对象(表名):</td>
<td class="edit_content"><select name="condition.warnObj">
<s:iterator value="modelList" id="modelList">
<option value="<s:property value="configCode"/>">
<s:property value="configName" />
</option>
</s:iterator>
</select></td>
</tr>
<tr>
<TD class=edit_label>预警类型:</TD>
<TD class=edit_content><select name="condition.warnType" >
<option value="1">缺少数据或无数据</option>
</select></TD>

<TD class=edit_label>数据采集频率:</TD>
<TD class=edit_content><select id="s1"
name="condition.gatherFre" onchange="inner()">
<option value="0">月</option>
<option value="1">日</option>
<option value="2">分钟</option>
</select>
<div id="innerText0" style="display: none">
到达时间:<input type='text' readonly  id="month"
onfocus="WdatePicker({dateFtm:'yyyy-MM-dd'})" name='month'
size='8' onblur="required('month')"/>
<div id="month1" style="color:red;display:inline">*</div>
</div>
<div id="innerText1" style="display: none">
到达时间:<input type='text' readonly id="day"
onfocus="WdatePicker({skin:'whyGreen',dateFmt:'H:mm:ss'})"
name='day' size='8' onblur="required('day')" />
<div id="day1" style="color:red;display:inline">*</div>
</div>
<div id="innerText2" style="display: none">
频率:<input type='text' name='fre' size='8' id="fre" onblur="required('fre','1')" />'
<div id="fre1" style="color:red;display:inline">*</div>
</div>
</TD>
</tr>
<tr>
<TD class=edit_label>记录数少于:</TD>
<TD class=edit_content><input type="text" onblur="required('num','1')"
 name="condition.logNum" id="num" />&nbsp;&nbsp;条
<div id="num1" style="color:red;display:inline">*</div></TD> <TD class=edit_label>数据监测:</TD>
<TD class=edit_content>时间段&nbsp;&nbsp;<input type="text" size="10"
onfocus="WdatePicker({skin:'whyGreen',dateFmt:'H:mm:ss'})"
class="Wdate" name="condition.warnBeginTime" id="wbt" onblur="required('wbt')" /><div id="wbt1" style="color:red;display:inline">*</div> ——
<input type="text"  size="10" onfocus="WdatePicker({skin:'whyGreen',dateFmt:'H:mm:ss'})"
class="Wdate" name="condition.warnEndTime" id="wet" onblur="required('wet')" /><div id="wet1" style="color:red;display:inline">*</div> &nbsp;频率:<input
type="text" name="condition.warnFre" id="wfre" onblur="required('wfre','1')" />&nbsp;&nbsp;分钟
<div id="wfre1" style="color:red; display:inline;">*</div>
</TD>
</tr>
<tr>
<TD class=edit_label>预警方式:</TD>
<TD class=edit_content colspan="3"><input type="checkbox"
readonly checked />文本方式 <input type="checkbox" value="1"
name="warnMode" onclick="dis(1)" />短信方式</TD>
</tr>
<tr id="tab1">
<td colspan="4" class=edit_content> <table id="messTable" style="width: 100%; background: #AACCEE"
class="list_table" cellspacing="1" cellpadding="1">
<tr>
<td colspan="2" class="edit_title1">短信方式配置</td>
</tr>
<tr>
<TD class=edit_label width="30%">短信发送时间段:</TD>
<TD class=edit_content width="70%"><select id="q"
name="condition.sendTime">
<option value="0">每天</option>
<option value="2">工作日</option>
<option value="1">周末</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp; <input type="text"
onfocus="WdatePicker({skin:'whyGreen',dateFmt:'H:mm:ss'})"
class="Wdate" name="condition.sendBeginTime" size="8" id="sbt" onblur="required('sbt')"/>
<div id="sbt1" style="color: red; display: inline">*</div>——
<input type="text" onfocus="WdatePicker({skin:'whyGreen',dateFmt:'H:mm:ss'})"
class="Wdate" name="condition.sendEndTime" size="8" id="set" onblur="required('set')"/>&nbsp;&nbsp;时间段
<div id="set1" style="color: red; display: inline">*</div>
</TD>
</tr>
<tr>
<TD class=edit_label>短信发送频率:</TD>
<TD class=edit_content><input type="text" value=""
name="condition.messFre" id="mfre" onblur="required('mfre','1')"/>&nbsp;&nbsp;分钟 
<div id="mfre1" style="color: red; display: inline">*</div>
</tr>
<tr>
<TD class=edit_label>每天最多短信次数:</TD>
<TD class=edit_content><select name="condition.messSum">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>&nbsp;&nbsp;次 
</td>
</tr>
<tr>
<TD class=edit_label
style="vertical-align: top; text-align: right">接收人员:</TD>
<TD class=edit_content>
<table border="0" width="100%">
<tr>
<td style="text-align: left" width="25%"><select
style="width: 70%" name="list1" size="12"
ondblclick="moveOption(document.myform.list1, document.myform.list2)">
<s:iterator value="personList" id="personList">
<option
value="<s:property value='dictValue'/>,<s:property value='re'/>">
<s:property value="dictValue" />
(
<s:property value="re" />
)
</option>
</s:iterator>
</select>
</td>
<td style="text-align: left" width="10%" align="center"><input
type="button" class="button" value="添加"
onClick="moveOption(document.myform.list1, document.myform.list2)">
<br /> <br /> <input type="button" value="删除"
class="button"
onclick="moveOption(document.myform.list2, document.myform.list1)">
</td>
<td style="text-align: left" width="25%"><select id="3"
style="width: 70%" name="list2" size="12"
ondblclick="moveOption(document.myform.list2, document.myform.list1)">
</select>
<input type="hidden" name="incepter" id="incepters" />
<div id="incepters1" style="color: red; display: inline">*</div>
</td>
<td style="text-align: left" width="10%"><input
onClick="changepos(list2,-1)" type="button" value="上移"
class="button" /><br> <br /> <input
onClick="changepos(list2,1)" type="button" value="下移"
class="button" /></td>
<td width="30%">&nbsp;</td>
</tr>
</table>
</TD>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan=4 class="input_buttom"><input type="submit"
value="确 定" class="button" />&nbsp;&nbsp;&nbsp;&nbsp; <input
type="button" value="取 消" class="button" onClick="window.close()" />
</td>
</tr>
</table>

解决方案 »

  1.   

    </form>
    <script language="JavaScript">
    function inner() {
    if (document.getElementById("s1").value == "0") {
    document.getElementById("innerText0").style.display = "inline";
    document.getElementById("innerText1").style.display = "none";
    document.getElementById("innerText2").style.display = "none";
    } else if (document.getElementById("s1").value == "1") {
    document.getElementById("innerText1").style.display = "inline";
    document.getElementById("innerText0").style.display = "none";
    document.getElementById("innerText2").style.display = "none";
    } else if (document.getElementById("s1").value == "2") {
    document.getElementById("innerText2").style.display = "inline";
    document.getElementById("innerText0").style.display = "none";
    document.getElementById("innerText1").style.display = "none";
    } else {
    document.getElementById("innerText2").style.display = "none";
    document.getElementById("innerText0").style.display = "none";
    document.getElementById("innerText1").style.display = "none";
    }
    }

    function init() {
    //showPrompt("submitButton");//根据showPrompt参数显示提示信息
    document.getElementById("messTable").disabled=true;

    }


    function dis(num) {
    if (document.getElementById("messTable").disabled) {
    document.getElementById("messTable").disabled=false;
    } else {
    document.getElementById("messTable").disabled=true;
    } }
    function moveOption(e1, e2) {
    try {
    for ( var i = 0; i < e1.options.length; i++) {
    if (e1.options[i].selected) {
    var e = e1.options[i];
    e2.options.add(new Option(e.text, e.value));
    e1.remove(i);
    i = i - 1;
    }
    }
    document.getElementById("incepters").value = getvalue(document.myform.list2);
    } catch (e) {
    }
    }
    function getvalue(geto) {
    var allvalue = "";
    for ( var i = 0; i < geto.options.length; i++) {
    allvalue += geto.options[i].value + ";";
    }
    return allvalue;
    }
    function changepos(obj, index) {
    if (index == -1) {
    if (obj.selectedIndex > 0) {
    obj.options(obj.selectedIndex).swapNode(
    obj.options(obj.selectedIndex - 1));
    }
    } else if (index == 1) {
    if (obj.selectedIndex < obj.options.length - 1) {
    obj.options(obj.selectedIndex).swapNode(
    obj.options(obj.selectedIndex + 1));
    }
    }
    }
    </script>
    </body>
    </html>
      

  2.   

    js的错误不好找呀!  你先用IE 访问你的页面  看报错不?  报错的话  看看多少行的! 再查看源代码看看对应的是哪!     回头用firebug  跟踪一下  ! 你是点上一点反映没有么?  有可能括号没匹配好
      

  3.   

    IE不报错,用火狐的话,因为使用了onblur事件,所以触发不了。用google chrome 的时候就说是boolean is not function.是在找不到原因了
      

  4.   

    function required(names,num){
    var va = document.getElementById(names).value;
    if(va==''){
    document.getElementById(names+"1").innerHTML='必填项';
    return false;
    好像是这个地方永远返回false的原因
      

  5.   

    我后面else中虽然没有写return true,但是在这个function的结尾我写了return true啊,为什么会永远返回false??????
      

  6.   

    火狐 触发不了onblur事件?不能能吧      你看看firebug的控制台吧,看控制台报错了么!
      

  7.   

    required is not a function
    onblur()onblur (第 2 行)
    event = blur
    [在此错误处中断]  required("wname");这个是什么错误啊???
      

  8.   

    用alert跳出窗口来判断比较好。
      

  9.   

    找到了,原来是在我引入的jquery validator中有个required,把required方法名换掉就好了
    谢谢大家。。