代码改变世界

JS表单验证只有第一个IF起作用 怎么解决?

2018-12-05 11:23  劉潇  阅读(286)  评论(0)    收藏  举报
 1 if(条件语句){
 2 
 3     return false;
 4 
 5else{
 6 
 7     return true;
 8 
 9 }
10 
11 if(条件语句){
12 
13     return false;
14 
15else{
16 
17     return true;
18 
19 }
20 
21 if(条件语句){
22 
23     return false;
24 
25else{
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上写的,要是后期修改两边我都会修改。