JS表单验证只有第一个IF起作用 怎么解决?
2018-12-05 11:23 劉潇 阅读(286) 评论(0) 收藏 举报1 if(条件语句){ 2 3 return false; 4 5 }else{ 6 7 return true; 8 9 } 10 11 if(条件语句){ 12 13 return false; 14 15 }else{ 16 17 return true; 18 19 } 20 21 if(条件语句){ 22 23 return false; 24 25 }else{ 26 27 return true; 28 29 } 30 ---------------------
你写的是不是上面这种情况?其实会出现只执行了第一个这种情况,主要是你在if else语句中都加入了,return 用来返回结果,这种方式其实是没有错的,逻辑也很通顺,不过你仔细想一想,你提交的时候如果返回的是true的话,那么你的form表单就相当于收到了一个可以提交的命令,那么他就会进行表单提交,后面的if else语句就不会执行了。
解决的方法:我用的是一种标记,先全部给他们true,如果后面的if语句条件判断为false,就弹出一个弹框进行提示,直到全部都符合条件了,才会给form表单返回一个true.进行表单提交。
有好的方法欢迎评论呦~~~~~~~~~
---------------------
1:js代码
1 <script type="text/javascript"> 2 function checkForm() { 3 var productName = true; 4 var chanDi = true; 5 var muChanLiang = true; 6 var zongChanLiang = true; 7 var xiangQiang = true; 8 var yuShouJia = true; 9 var phone = true; 10 var pattern = /^1[34578]\d{9}$/; //验证手机号正则表达式 11 if ($("#userName") == "") { 12 alert("请输入产品名称!"); 13 /* alert($("#gsp_add_img_23").val()); */ 14 productName = false; 15 } else if ($("#candi").val() == "") { 16 alert("请输入产地!"); 17 chanDi = false; 18 } else if ($("#muchan").val() == "") { 19 alert("请输入亩产量!"); 20 muChanLiang = false; 21 }else if ($("#zongChan").val() == "") { 22 alert("请输入总产量!"); 23 zongChanLiang = false; 24 } else if ($("#xiangqing").val() == "") { 25 alert("请输入产品详情!"); 26 xiangQiang = false; 27 } else if ($("#yushoujia").val() == "") { 28 alert("请输入预售价!"); 29 yuShouJia = false; 30 } else if (!pattern.test($("#userPhone").val())) { 31 alert("手机号格式错误"); 32 phone = false; 33 } 34 if (productName == true && chanDi == true && muChanLiang == true && 35 zongChanLiang == true && xiangQiang == true && yuShouJia == true && phone == true) { 36 $("#ListForm").submit(); 37 } 38 } 39 </script> 40 ---------------------
2:form表单
1 <form action="$!webPath/new/fl_npsh.htm" method="post" name="ListForm" 2 id="ListForm" enctype="multipart/form-data" > 3 <!-- 类似首页楼层模块 --> 4 <div style="width: 1020px; margin: 0 auto;"> 5 <div class="floor floor_purple" 6 style="width: 1011px; border-top: 1px solid #eee;"> 7 <div class="liebiao" 8 <!-- 给后台传一个id --> 9 <input name="id" type="hidden" id="id" value="$!obj.id" /> 10 </div> 11 <div class="liebiao"> 12 13 <!-- <span class="liebiao_left" style="color:red">*</span> --> 14 <span class="liebiao_left">产品名称:</span> <input id="userName" 15 type="text" name="product_name" class="shuruk" 16 placeholder="例:灵宝SOD苹果(*必填项 *)" /> 17 </div> 18 19 <div class="liebiao"> 20 <span class="liebiao_left">产品产地:</span> <input type="text" 21 value="" name="product_origin" class="shuruk" id="candi" 22 placeholder="例:灵宝寺河山(*必填项 *)" /> 23 </div> 24 25 <div class="liebiao"> 26 <span class="liebiao_left">产品亩产量:</span> <input type="text" 27 value="" name="mu_yield" class="shuruk" id="muchan" 28 placeholder="例:每亩产量(*必填项 *)" /> 29 </div> 30 31 <div class="liebiao"> 32 <span class="liebiao_left">产品总产量:</span> <input type="text" 33 value="" name="sum_yield" class="shuruk" 34 placeholder="例:总产量(*必填项 *)" id = 'zongChan'/> 35 </div> 36 37 <div class="liebiao" style="height: 60px;"> 38 <span class="liebiao_left" 39 style="display: inline-block; height: 60px; line-height: 30px; float: left;">产品详情:</span> 40 <textarea type="text" value="" id="xiangqing" 41 name="product_details" class="shuruk02" 42 placeholder="例:产品种植标准、产品优点、产品性能、储存注意事项等(*必填项 *)"></textarea> 43 </div> 44 45 <div class="liebiao"> 46 <span class="liebiao_left">产品预售参考价:</span> <input type="text" 47 value="" id="yushoujia" name="advance_price" class="shuruk" 48 placeholder="例:以每500g为单位(*必填项 *)" /> 49 </div> 50 51 <div class="liebiao"> 52 <span class="liebiao_left">站主联系方式:</span> <input id="userPhone" 53 value="" name="phone" class="shuruk" 54 placeholder="(*必填项 *)" /> 55 </div> 56 57 <div class="liebiao" style="margin-top: 30px;"> 58 <input type="button" value="立即申请" class="tijiao" onclick="checkForm()"> 59 </div> 60 61 </div> 62 </div> 63 </form> 64 --------------------- 65 作者:itfallrain 66 来源:CSDN 67 原文:https://blog.csdn.net/qq_38215042/article/details/84675988 68 特别说明:本文是我在csdn上写的,要是后期修改两边我都会修改。
作者: 劉潇
出处: https:www.cnblogs.com/itfallrain/>
关于作者:专注Java后端开发、前端js、前后端框架,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意不得转载,经作者同意转载后,在文章页面明显位置给出, 原文链接 如有问题, 可邮件(860258594@.com)咨询.
浙公网安备 33010602011771号