下面的validate()方法有点长, 帮我看一下还能怎么改进一下
<script type="text/javascript">function changeSequence(sq){
if(sq=='sq'){
enableSequence();
} else {
disableSequence();
}
}function enableSequence(){ var refTable = document.getElementById("referList");
var seqList = document.getElementsByTagName("input");
for (var i=0; i<seqList.length; i++) {
if (seqList[i].type == "text") {
var reg = /^referenceCode\[\d+\]\.refSeqNum$/;
if (reg.test(seqList[i].name))
seqList[i].disabled=false;
}
}
}function disableSequence(){ var refTable = document.getElementById("referList");
var seqList = document.getElementsByTagName("input");
for (var i=0; i<seqList.length; i++) {
if (seqList[i].type == "text") {
var reg = /^referenceCode\[\d+\]\.refSeqNum$/;
if (reg.test(seqList[i].name))
seqList[i].disabled=true;
}
}
}function validate() {
var refTable = document.getElementById("referList");
var seqList = document.getElementsByTagName("input");
var seqs = new Array();
var refCodeDesc = new Array();
var refCode = new Array();
for (var i=0; i<seqList.length; i++) {
var reg = /^referenceCode\[\d+\]\.refSeqNum$/;
var refCodeDescReg = /^referenceCode\[\d+\]\.refCodeDesc$/;
var refCodeReg = /^referenceCode\[\d+\]\.refCode$/;
if (reg.test(seqList[i].name)) {
seqs.push(seqList[i]);
}
if (refCodeDescReg.test(seqList[i].name)) {
refCodeDesc.push(seqList[i]);
}
if (refCodeReg.test(seqList[i].name)) {
refCode.push(seqList[i]);
}
}
var sortArray = new Array();
for (var i = 0; i < refCode.length; i++) {
if (refCode[i].value && refCode[i].value !="") { if( !isNumeric(seqs[i].value)) {
alert("please input a valid sequence no");
seqs[i].focus();
return false;
}
if (refCodeDesc[i].value.trim().length <=0 ) {
alert("please input the Reference Description");
refCodeDesc[i].focus();
return false;
} sortArray.push(seqs[i]);
} else if (refCodeDesc[i].value && refCodeDesc[i].value.trim() !="") {
alert("please input the Reference Code");
refCode[i].focus();
return false;
} else if (seqs[i].value && seqs[i].value.trim() !="") {
alert("please input the Reference Code");
refCode[i].focus();
return false;
}
}
for (var i = 0; i < sortArray.length; i++) {
for (var j =i+1; j <sortArray.length; j ++) {
if (sortArray[i].value == sortArray[j].value) {
alert("You have the same Reference Sequence");
sortArray[j].focus();
return false;
}
}
} return true;
}String.prototype.trim=function(){
return this.replace(/(^\s*)|(\s*$)/g, '');
} // Checks whether is numeric
function isNumeric(s)
{
if(isNaN(s)) {
return false;
}
else{
if (parseFloat(s) > 0) {
return true;
} else {
return false;
}
}
}
</script>
<table width="80%" cellspacing="2" cellpadding="2" id="referList">
<tbody><tr><td colspan="4"><font color="red">NOTE: Inactive status only applies to Activity for entry screens. Once set, it will not be shown in the selection list.</font></td></tr>
<tr><td colspan="4">
<input type="radio" onclick="changeSequence('al');" value="alpha" name="sequence"/>Display By Alpha
<input type="radio" onclick="changeSequence('sq');" value="sequence" name="sequence"/>Display By Sequence No
</td></tr>
<tr bgcolor="white">
<td width="20%" class="header">Reference Code</td>
<td width="40%" class="header">Reference Description</td>
<td width="20%" class="header">Sequence No</td>
<td width="20%" class="header">Inactive </td>
</tr>
<tr valign="top" bgcolor="white">
<td>AGT
<input type="hidden" value="AGT" name="referenceCode[0].refCode"/>
</td>
<td align="left">
<input type="text" value="Agent" size="40" name="referenceCode[0].refCodeDesc"/>
</td>
<td><input type="text" value="1" size="3" name="referenceCode[0].refSeqNum"/></td>
<td>
<input type="checkbox" value="AGT" name="referenceCode[0].deleteFlag"/>
</td>
</tr>
<tr valign="top" bgcolor="white">
<td>BO
<input type="hidden" value="BO" name="referenceCode[2].refCode"/>
</td>
<td align="left">
<input type="text" value="Buying Office" size="40" name="referenceCode[2].refCodeDesc"/>
</td>
<td><input type="text" value="3" size="3" name="referenceCode[2].refSeqNum"/></td>
<td>
<input type="checkbox" value="BO" name="referenceCode[2].deleteFlag"/>
</td>
</tr>
<tr valign="top" bgcolor="lightyellow">
<td>TRADE
<input type="hidden" value="TRADE" name="referenceCode[3].refCode"/>
</td>
<td align="left">
<input type="text" value="Trading Company" size="40" name="referenceCode[3].refCodeDesc"/>
</td>
<td><input type="text" value="4" size="3" name="referenceCode[3].refSeqNum"/></td>
<td>
<input type="checkbox" value="TRADE" name="referenceCode[3].deleteFlag"/>
</td>
</tr>
<tr valign="top" bgcolor="white">
<td>
<input type="text" value="" name="referenceCode[12].refCode"/>
</td>
<td align="left"><input type="text" value="" size="40" name="referenceCode[12].refCodeDesc"/></td>
<td><input type="text" value="" size="3" name="referenceCode[12].refSeqNum"/></td>
<td/>
</tr>
<tr valign="top" bgcolor="lightyellow">
<td>
<input type="text" value="" name="referenceCode[13].refCode"/>
</td>
<td align="left"><input type="text" value="" size="40" name="referenceCode[13].refCodeDesc"/></td>
<td><input type="text" value="" size="3" name="referenceCode[13].refSeqNum"/></td>
<td/>
</tr>
<tr valign="top" bgcolor="white">
<td>
<input type="text" value="" name="referenceCode[14].refCode"/>
</td>
<td align="left"><input type="text" value="" size="40" name="referenceCode[14].refCodeDesc"/></td>
<td><input type="text" value="" size="3" name="referenceCode[14].refSeqNum"/></td>
<td/>
</tr>
<tr>
<td align="center" class="tr_paginator" colspan="4">
<input type="submit" border="" value="Confirm" name="Submit"/>
<input type="submit" border="" value="Cancel" name="close"/>
</td>
</tr>
</tbody></table>
<script type="text/javascript">function changeSequence(sq){
if(sq=='sq'){
enableSequence();
} else {
disableSequence();
}
}function enableSequence(){ var refTable = document.getElementById("referList");
var seqList = document.getElementsByTagName("input");
for (var i=0; i<seqList.length; i++) {
if (seqList[i].type == "text") {
var reg = /^referenceCode\[\d+\]\.refSeqNum$/;
if (reg.test(seqList[i].name))
seqList[i].disabled=false;
}
}
}function disableSequence(){ var refTable = document.getElementById("referList");
var seqList = document.getElementsByTagName("input");
for (var i=0; i<seqList.length; i++) {
if (seqList[i].type == "text") {
var reg = /^referenceCode\[\d+\]\.refSeqNum$/;
if (reg.test(seqList[i].name))
seqList[i].disabled=true;
}
}
}function validate() {
var refTable = document.getElementById("referList");
var seqList = document.getElementsByTagName("input");
var seqs = new Array();
var refCodeDesc = new Array();
var refCode = new Array();
for (var i=0; i<seqList.length; i++) {
var reg = /^referenceCode\[\d+\]\.refSeqNum$/;
var refCodeDescReg = /^referenceCode\[\d+\]\.refCodeDesc$/;
var refCodeReg = /^referenceCode\[\d+\]\.refCode$/;
if (reg.test(seqList[i].name)) {
seqs.push(seqList[i]);
}
if (refCodeDescReg.test(seqList[i].name)) {
refCodeDesc.push(seqList[i]);
}
if (refCodeReg.test(seqList[i].name)) {
refCode.push(seqList[i]);
}
}
var sortArray = new Array();
for (var i = 0; i < refCode.length; i++) {
if (refCode[i].value && refCode[i].value !="") { if( !isNumeric(seqs[i].value)) {
alert("please input a valid sequence no");
seqs[i].focus();
return false;
}
if (refCodeDesc[i].value.trim().length <=0 ) {
alert("please input the Reference Description");
refCodeDesc[i].focus();
return false;
} sortArray.push(seqs[i]);
} else if (refCodeDesc[i].value && refCodeDesc[i].value.trim() !="") {
alert("please input the Reference Code");
refCode[i].focus();
return false;
} else if (seqs[i].value && seqs[i].value.trim() !="") {
alert("please input the Reference Code");
refCode[i].focus();
return false;
}
}
for (var i = 0; i < sortArray.length; i++) {
for (var j =i+1; j <sortArray.length; j ++) {
if (sortArray[i].value == sortArray[j].value) {
alert("You have the same Reference Sequence");
sortArray[j].focus();
return false;
}
}
} return true;
}String.prototype.trim=function(){
return this.replace(/(^\s*)|(\s*$)/g, '');
} // Checks whether is numeric
function isNumeric(s)
{
if(isNaN(s)) {
return false;
}
else{
if (parseFloat(s) > 0) {
return true;
} else {
return false;
}
}
}
</script>
<table width="80%" cellspacing="2" cellpadding="2" id="referList">
<tbody><tr><td colspan="4"><font color="red">NOTE: Inactive status only applies to Activity for entry screens. Once set, it will not be shown in the selection list.</font></td></tr>
<tr><td colspan="4">
<input type="radio" onclick="changeSequence('al');" value="alpha" name="sequence"/>Display By Alpha
<input type="radio" onclick="changeSequence('sq');" value="sequence" name="sequence"/>Display By Sequence No
</td></tr>
<tr bgcolor="white">
<td width="20%" class="header">Reference Code</td>
<td width="40%" class="header">Reference Description</td>
<td width="20%" class="header">Sequence No</td>
<td width="20%" class="header">Inactive </td>
</tr>
<tr valign="top" bgcolor="white">
<td>AGT
<input type="hidden" value="AGT" name="referenceCode[0].refCode"/>
</td>
<td align="left">
<input type="text" value="Agent" size="40" name="referenceCode[0].refCodeDesc"/>
</td>
<td><input type="text" value="1" size="3" name="referenceCode[0].refSeqNum"/></td>
<td>
<input type="checkbox" value="AGT" name="referenceCode[0].deleteFlag"/>
</td>
</tr>
<tr valign="top" bgcolor="white">
<td>BO
<input type="hidden" value="BO" name="referenceCode[2].refCode"/>
</td>
<td align="left">
<input type="text" value="Buying Office" size="40" name="referenceCode[2].refCodeDesc"/>
</td>
<td><input type="text" value="3" size="3" name="referenceCode[2].refSeqNum"/></td>
<td>
<input type="checkbox" value="BO" name="referenceCode[2].deleteFlag"/>
</td>
</tr>
<tr valign="top" bgcolor="lightyellow">
<td>TRADE
<input type="hidden" value="TRADE" name="referenceCode[3].refCode"/>
</td>
<td align="left">
<input type="text" value="Trading Company" size="40" name="referenceCode[3].refCodeDesc"/>
</td>
<td><input type="text" value="4" size="3" name="referenceCode[3].refSeqNum"/></td>
<td>
<input type="checkbox" value="TRADE" name="referenceCode[3].deleteFlag"/>
</td>
</tr>
<tr valign="top" bgcolor="white">
<td>
<input type="text" value="" name="referenceCode[12].refCode"/>
</td>
<td align="left"><input type="text" value="" size="40" name="referenceCode[12].refCodeDesc"/></td>
<td><input type="text" value="" size="3" name="referenceCode[12].refSeqNum"/></td>
<td/>
</tr>
<tr valign="top" bgcolor="lightyellow">
<td>
<input type="text" value="" name="referenceCode[13].refCode"/>
</td>
<td align="left"><input type="text" value="" size="40" name="referenceCode[13].refCodeDesc"/></td>
<td><input type="text" value="" size="3" name="referenceCode[13].refSeqNum"/></td>
<td/>
</tr>
<tr valign="top" bgcolor="white">
<td>
<input type="text" value="" name="referenceCode[14].refCode"/>
</td>
<td align="left"><input type="text" value="" size="40" name="referenceCode[14].refCodeDesc"/></td>
<td><input type="text" value="" size="3" name="referenceCode[14].refSeqNum"/></td>
<td/>
</tr>
<tr>
<td align="center" class="tr_paginator" colspan="4">
<input type="submit" border="" value="Confirm" name="Submit"/>
<input type="submit" border="" value="Cancel" name="close"/>
</td>
</tr>
</tbody></table>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货