解决JS表单验证只有第一个IF起作用的问题

文章来自:https://blog.csdn.net/qq_38215042/article/details/84675988

具体代码如下所述:

if(条件语句){
 return false;
}else{
 return true;
}
if(条件语句){
 return false;
}else{
 return true;
}
if(条件语句){
 return false;
}else{
 return true;
}

你写的是不是上面这种情况?其实会出现只执行了第一个这种情况,主要是你在if else语句中都加入了,return 用来返回结果,这种方式其实是没有错的,逻辑也很通顺,不过你仔细想一想,你提交的时候如果返回的是true的话,那么你的form表单就相当于收到了一个可以提交的命令,那么他就会进行表单提交,后面的if else语句就不会执行了。

解决的方法:我用的是一种标记,先全部给他们true,如果后面的if语句条件判断为false,就弹出一个弹框进行提示,直到全部都符合条件了,才会给form表单返回一个true.进行表单提交。

有好的方法欢迎评论呦~~~~~~~~~

1:js代码

需要引入jquery

<script type="text/javascript">
  function checkForm() {
  var productName = true;
  var chanDi = true;
  var muChanLiang = true;
  var zongChanLiang = true;
  var xiangQiang = true;
  var yuShouJia = true;
  var phone = true;
  var pattern = /^1[34578]\d{9}$/; //验证手机号正则表达式
  if ($("#userName") == "") {
   alert("请输入产品名称!");
   /* alert($("#gsp_add_img_23").val()); */
   productName = false;
  } else if ($("#candi").val() == "") {
   alert("请输入产地!");
   chanDi = false;
  } else if ($("#muchan").val() == "") {
   alert("请输入亩产量!");
   muChanLiang = false;
  }else if ($("#zongChan").val() == "") {
   alert("请输入总产量!");
   zongChanLiang = false;
  } else if ($("#xiangqing").val() == "") {
   alert("请输入产品详情!");
   xiangQiang = false;
  } else if ($("#yushoujia").val() == "") {
   alert("请输入预售价!");
   yuShouJia = false;
  } else if (!pattern.test($("#userPhone").val())) {
   alert("手机号格式错误");
   phone = false;
  }
  if (productName == true && chanDi == true && muChanLiang == true &&
   zongChanLiang == true && xiangQiang == true && yuShouJia == true && phone == true) {
   $("#ListForm").submit();
  }
  }
 </script>

2:form表单

<form action="$!webPath/new/fl_npsh.htm" method="post" name="ListForm"
  id="ListForm" enctype="multipart/form-data" >
  <!-- 类似首页楼层模块 -->
  <div style="width: 1020px; margin: 0 auto;">
  <div class="floor floor_purple"
   style="width: 1011px; border-top: 1px solid #eee;">
   <div class="liebiao"
   <!-- 给后台传一个id -->
   <input name="id" type="hidden" id="id" value="$!obj.id" />
   </div>
   <div class="liebiao">
   <!-- <span class="liebiao_left" style="color:red">*</span> -->
   <span class="liebiao_left">产品名称:</span> <input id="userName"
    type="text" name="product_name" class="shuruk"
    placeholder="例:灵宝SOD苹果(*必填项 *)" />
   </div>
   <div class="liebiao">
   <span class="liebiao_left">产品产地:</span> <input type="text"
    value="" name="product_origin" class="shuruk" id="candi"
    placeholder="例:灵宝寺河山(*必填项 *)" />
   </div>
   <div class="liebiao">
   <span class="liebiao_left">产品亩产量:</span> <input type="text"
    value="" name="mu_yield" class="shuruk" id="muchan"
    placeholder="例:每亩产量(*必填项 *)" />
   </div>
   <div class="liebiao">
   <span class="liebiao_left">产品总产量:</span> <input type="text"
    value="" name="sum_yield" class="shuruk"
    placeholder="例:总产量(*必填项 *)" id = 'zongChan'/>
   </div>
   <div class="liebiao" style="height: 60px;">
   <span class="liebiao_left"
    style="display: inline-block; height: 60px; line-height: 30px; float: left;">产品详情:</span>
   <textarea type="text" value="" id="xiangqing"
    name="product_details" class="shuruk02"
    placeholder="例:产品种植标准、产品优点、产品性能、储存注意事项等(*必填项 *)"></textarea>
   </div>
   <div class="liebiao">
   <span class="liebiao_left">产品预售参考价:</span> <input type="text"
    value="" id="yushoujia" name="advance_price" class="shuruk"
    placeholder="例:以每500g为单位(*必填项 *)" />
   </div>
   <div class="liebiao">
   <span class="liebiao_left">站主联系方式:</span> <input id="userPhone"
    value="" name="phone" class="shuruk"
    placeholder="(*必填项 *)" />
   </div>
   <div class="liebiao" style="margin-top: 30px;">
   <input type="button" value="立即申请" class="tijiao" onclick="checkForm()">
   </div>
  </div>
  </div>
 </form>

总结

以上所述是小编给大家介绍的解决JS表单验证只有第一个IF起作用的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能

    效果图: 如图,这是使用Validator插件,所完成的功能,效果很强大,也很方便,这边推荐使用这种方式,最后介绍一下原始js验证写法. 首先,导入插件: <link href="<%=basePath %>bootstrap/css/bootstrap-datetimepicker.min.css" rel="external nofollow" rel="stylesheet" media="screen"

  • JavaScript表单验证完美代码

    用原生JS写一个简单的表单验证 首先,是html部分 <div class="divAll"> <div id="titles">新用户注册</div> <div id="contents"> <h3>基本信息</h3> <hr width="95%" color="#f2f2f2"/> <form action=&q

  • JS实现的简单表单验证功能完整实例

    本文实例讲述了JS实现的简单表单验证功能.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head&

  • 最常用的15个前端表单验证JS正则表达式

    在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的JavaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. QQ号码. 微信号.车牌号.中文正则. 1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uP

  • layui.js实现的表单验证功能示例

    本文实例讲述了layui.js实现的表单验证功能.分享给大家供大家参考,具体如下: 该示例可针对文本框,手机,邮箱,textarea等格式进行验证 首先引入如下文件: <script src="layui/layui.js"></script> <script src="layui/lay/dest/layui.all.js"></script> <link rel="stylesheet"

  • Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)

    AngularJS提供了表单验证,但是验证的过程交互体验很不好,比如重设密码,重复密码的时候一键入就会提示密码不正确,现整理了两种方法,仅供借鉴. 一,点击提交验证 <form action="" class="form-horizontal col-md-9" name="reset_pwd" ng-submit="resetPwd()"> <div class="form-group"

  • js浏览器html5表单验证

    html5表单添加了很多类型的表单,而且还自带验证的功能.在移动端,手机等设备能够根据不同的input类型弹出不同的键盘,例如iphone弹的键盘 但是由于不同的浏览器对不合法输入提示文案不一致,样式也不一样,并且老的浏览器不兼容(IE9及以下),导致了在生产环境中比较少见到.例如对于邮箱格式的检验,不同浏览器的效果如下: Chrome Firefox IE safari html5的表单跨浏览器有很大的问题 具体来说存在三个问题: (1) 输入框blur的时候不会触发检查,只有在点提交时才触发

  • AngularJS实现的获取焦点及失去焦点时的表单验证功能示例

    本文实例讲述了AngularJS实现的获取焦点及失去焦点时的表单验证功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html ng-app="formExample"> <head> <meta charset="UTF-8"> <title></title> <script src="../js/angular.js"></scr

  • 解决JS表单验证只有第一个IF起作用的问题

    文章来自:https://blog.csdn.net/qq_38215042/article/details/84675988 具体代码如下所述: if(条件语句){ return false; }else{ return true; } if(条件语句){ return false; }else{ return true; } if(条件语句){ return false; }else{ return true; } 你写的是不是上面这种情况?其实会出现只执行了第一个这种情况,主要是你在if

  • JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】

    本文实例讲述了JS表单验证插件之数据与逻辑分离操作.分享给大家供大家参考,具体如下: 之前已经写过一个表单验证插件了,为什么还会重复造轮子呢?第一个问题是代码结构比较乱,虽然通过原型继承的写法将处理分层,但业务逻辑和数据结构混杂在一起,导致第二个问题--可扩展性和灵活性差. 认真分析表单验证的过程,可以分为两步:怎么验证和如何验证.怎么验证是数据层面的问题,如何验证是业务逻辑层面的问题. 点击:这里 查看源码 策略模式将对象和规则区分 如何让算法(数据层)和对象(逻辑层)分开来,使得算法可以独立

  • jquery validate.js表单验证入门实例(附源码)

    小编上网查阅了许多关于jquery.validate的文章,大部门只是介绍它的api和用法,没有一个详细的的入门案例介绍,研究了半天还是无从下手.为此,小编自己做了一个jquery validate.js表单验证入门实例,写的不是特别好,但应该适用于初学者,分享给大家. 以下是validate.js表单验证入门实例参考源码,文章下面有源码下载地址: <html> <head> <meta http-equiv="Content-Type" content=

  • vue.js表单验证插件(vee-validate)的使用教程详解

    综述 名称:vee-validate 用途:简单的 Vue.js 表单验证插件 官网:地址 github:地址 特别提示 配合laravel使用特别好使 因为验证规则和laravel后端的验证规则一样 插件既可以应用于SPA也可以应用于多页面,通用性强 安装 单页安装 npm install vee-validate --save 浏览器安装 <!-- unpkg --> <script src="https://unpkg.com/vee-validate@2.0.0-rc.

  • 分享JS表单验证源码(带错误提示及密码等级)

    先晒图 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Index</title> <link rel="stylesheet" href="css/style.css"> </head> <body> &l

  • JS表单验证的代码(常用)

    最近没有项目做,有点空余时间,小编把日常比较常用的js表单验证代码整理分享到我们平台,供大家学习,需要的朋友参考下吧! 注册验证: <script language="JavaScript" src="js/jquery-1.9.1.min.js" type="text/javascript"></script> //验证表单 function vailForm(){ var form = jQuery("#ed

  • js表单验证实例讲解

    本文实例为大家分享了js表单验证,供大家参考,具体内容如下 JavaScript 可用来在数据被送往服务器前对HTML 表单中的这些输入数据进行验证. 被JavaScript 验证的这些典型的表单数据有: 1).用户是否已填写表单中的必填项目? 2).用户输入的邮件地址是否合法? 3).用户是否已输入合法的日期? 4).用户是否在数据域 (numeric field) 中输入了文本? gspan.html <html> <head> <title>表单验证实例</

  • JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】

    本文实例总结了JS表单验证方法.分享给大家供大家参考,具体如下: 回回写表单,回回要写不同的检查JS,很麻烦,后来写了通用的检查函数,很粗糙,但比较实用,以后再好好改改: 包含页: Check-Form.js 代码如下: //规则检查排序 function RegCheck(objs) { var str = objs.checktype; switch (str) { case "cn" : //要检查的表单控件的输入类型必须为中文 return CnWordRegCheck(obj

  • bootstrapValidator.min.js表单验证插件

    本文实例为大家分享了bootstrapValidator.min.js表单验证的具体代码,供大家参考,具体内容如下 注意:下载后全选复制并粘贴到新建js文件名为bootstrapValidator.min.js下即可. 测试代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <

  • jQuery.validate.js表单验证插件的使用代码详解

    Validate Validate是基于jQuery的一款轻量级验证插件,内置丰富的验证规则,还有灵活的自定义规则接口,HTML.CSS与JS之间的低耦合能让您自由布局和丰富样式,支持input,select,textarea的验证. 效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="vi

随机推荐