Ajax 板


LINE

请教各位高手.目前小弟在做网页系统,有个表单是需要上传销售资料的 而表单也有作栏位检查,页面图如下 http://140.124.90.41/up/a/example.jpg
目前客户有需求想要一次新增多笔纪录,这部份我用回圈作是可以插入多笔纪录, 而利用URL变数来新增多笔表单栏位 <?php for( $i=0; $i<$Num; $i++){ ?> <select name="p_type[]" id="p_type[]"> <option selected>-Select-</option> <option value="POSM">POSM</option> <option value="Product on Shelf">Product on Shelf</option> <option value="Activity">Activity</option> <option value="Promotion">Promotion</option> </select>  <br> <input type="file" name="f_name[]" id="f_name[]" size="50" > <input type="text" name="note[]" id="note[]">note <br> <?php } ?> <a href="week_up.php?Num=<?php echo ++$Num;?>"> <font color=red>Add New Records</font></a> 只是问题只有新增一笔资料时栏位检察是可以运作的,当week_up.php?Num=2 以上也就是两笔以上的表单时,JS的检查栏位就失效了? 该页原始档php如下 http://140.124.90.41/up/a/weekup.rar JS Function,这表单栏位是用DW的MXP去做的.感觉很复杂..其实好像用简单的if~else在 alert('information')的JS就可以了... function YY_checkform() { //v4.65 //copyright (c)1998,2002 Yaromat.com var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;var myReq; for (var i=1; i<args.length;i=i+4){ if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false} var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,"")); myV=myObj.value; if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){ if (myReq&&myObj.value.length==0){addErr=true} if ((myV.length>0)&&(args[i+2]==1)){ //fromto var myMa=args[i+1].split('_');if(isNaN(parseInt(myV))||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true} } else if ((myV.length>0)&&(args[i+2]==2)){ var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true; } else if ((myV.length>0)&&(args[i+2]==3)){ // date var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]); if(myAt){ var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]]; var myDate=new Date(myY,myM,myD); if(myDate.getFullYear()!=myY||myDate.getDate()!=myD||myDate.getMonth()!=myM){addErr=true}; }else{addErr=true} } else if ((myV.length>0)&&(args[i+2]==4)){ // time var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);if(!myAt){addErr=true} } else if (myV.length>0&&args[i+2]==5){ // check this 2 var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,"")); if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")]; if(!myObj1.checked){addErr=true} } else if (myV.length>0&&args[i+2]==6){ // the same var myObj1 = MM_findObj(args[i+1]); if(myV!=myObj1.value){addErr=true} } } else if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){ var myTest = args[i].match(/(.*)\[(\d+)\].*/i); var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj; if (args[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true} if (args[i+2]==2){ var myDot=false; for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked} if(!myDot){myErr+='* ' +args[i+3]+'\n'} } } else if (myObj.type=='checkbox'){ if(args[i+2]==1&&myObj.checked==false){addErr=true} if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true} } else if (myObj.type=='select-one'||myObj.type=='select-multiple'){ if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true} }else if (myObj.type=='textarea'){ if(myV.length<args[i+1]){addErr=true} } if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false} } if (myErr!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+myErr)} document.MM_returnValue = (myErr==''); } //--> 是我表单元素名称写错了吗?可是我记得要用阵列型式才能插入多笔记录 可能请教这样的部分JS应该要怎麽实作才能检查栏位? 烦请高手抽空指点.感激不尽! --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.218.94
1F:→ TonyQ:啊你又没贴检查栏位的code 谁看得出来为什麽失效啊=.= 09/18 14:27
2F:→ TonyQ:js是每一个元素每一个元素去考虑的 , 不是随便加加就可扩充. 09/18 14:27
3F:→ chrismaggie:不好意思~我修改一下@@a~刚刚才再看code 09/18 14:34
4F:→ TonyQ:最好是贴会出错那页的网址 , 这样比较好帮忙看. 09/18 14:36
※ 编辑: chrismaggie 来自: 220.132.218.94 (09/18 14:42)
5F:→ TonyQ:晚上下班如果还没解决再帮你看看...:p 09/18 14:50
6F:→ chrismaggie:谢谢T大!我会继续想看看 09/18 14:55
7F:→ TonyQ:太乱了 =.=a 看到一半就不想继续看下去了... 09/19 01:18
8F:→ chrismaggie:那个CHRCK FORM..我都不知道怎麽改..还是算了.. 09/19 11:18
9F:→ chrismaggie:真的看到会花掉... 09/19 11:18
10F:→ chrismaggie:T大~我後来把它改掉.用自己写的JS判断...我回文一下 09/19 11:33







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP