点击按钮弹出模态框的一系列操作代码实例


Posted in Javascript onMarch 29, 2019

点击按钮弹出模态框的一系列操作代码实例

点击按钮弹出模态框的一系列操作代码实例

实现功能

提交按钮功能:
点击提交按钮的时候都会弹出模态框,但是有不同的状态:
审核状态未通过:弹出未通过理由的input输入框,模态框中除了取消和确定按钮,新增确定并保存医院的按钮
审核状态已通过:如果新增医院的经纬度没有填写,会提示填写经纬度,填写之后点击提交按钮,模态框中显示确定和取消按钮
审核状态待审核:模态框中显示确定和取消按钮

添加医院的html代码:

<div class="form-group">
            <label class="control-label col-md-3 col-sm-3 col-xs-12" for="first-name">
             	<span class="required">所属医院</span>
             </label>
            <div class="col-md-6 col-sm-6 col-xs-12">
              @if($data->hospitalid > 0)    **如果医院的id>0,就是存在对应的医院,让下面的输入框不能修改**
                <input type="text" id="first-name" disabled value="{{$data->hospital->name}}" required="required" class="form-control col-md-7 col-xs-12">
              @else  **如果医院的id<=0,就是不存在对应的医院,让下面的输入框可以修改,同时填写医院的经纬度**
                <input type="text" id="first-name" name="hospital_info" value="{{$data->hospital_info}}" required="required" class="form-control col-md-7 col-xs-12">
                <div>
                  <input type="text" name="hospital_lat" placeholder="请输入医院经度"
                  class='hospitalLocation form-control hospitalLocation1' >
                  <input type="text" name="hospital_lng" placeholder="请输入医院纬度 "
                  class='hospitalLocation form-control hospitalLocation2' >
                </div>
              @endif
            </div>
          </div>

审核状态的相关html代码:

<div class="form-group">
            <label class="control-label col-md-3 col-sm-3 col-xs-12">审核状态</label>
            <div class="col-md-6 col-sm-6 col-xs-12">
              <select class="form-control choose" required="" @if($data->is_verify == 1) disabled @endif name="is_verify" data="{{$data->is_verify}}" style="width:100px;position:relative">

                  <option value="1" @if($data->is_verify == 1) selected @endif>未通过</option>           
                  <option value="2" @if($data->is_verify == 2) selected @endif>已通过</option>
                  <option value="0" @if($data->is_verify == 0) selected @endif>待审核</option>

              </select>
              <input type="text" placeholder='填写未通过理由' name="check_reason" class='Nopass' value="{{$data->check_reason}}" style='display:none'>
              **如果未通过审核的话会弹出这个input输入框,填写未通过理由**

            </div>
          </div>

总的表单提交按钮html代码:

<div class="form-group">
          <div class="col-md-6 col-sm-6 col-xs-12 col-md-offset-3">
          
          		 <button type="button" class="btn btn-success" id="edit-submit" >提交</button>
								**这个提交按钮的功能与上面的审核状态和添加医院相关信息有关系**
								点击提交按钮的时候,弹出模态框,此时的模态框有两种状态:
								1.
            <button class="btn btn-primary" type="reset" onclick="javascript:history.back();">返回</button>
          </div>
        </div>

模态框的相应html代码:

<div class="modal fade" tabindex="-1" role="dialog" id="confirmSubmit">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
              aria-hidden="true">×</span></button>
        <h4 class="modal-title">确认提交吗?</h4>
      </div>
      {{--<div class="modal-body">--}}

      {{--</div>--}}
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
        <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="save()" >确定
        </button>
        <button id="save_hospital_btn" style="display: none" type="button" class="btn btn-primary" data-dismiss="modal" onclick="save(1)" >确定并保存医院
        </button>
      </div>
    </div>
  </div>
</div>

js代码:

var hospitalId = {{$data->hospitalid}}; **拿到对应医院的id**
**下面是点击提交按钮时的处理函数**
$('#edit-submit').click(function () {
    is_verify = $('select[name=is_verify]').val(); **拿到审核状态下拉框的值**
    if (is_verify == 1) { **未通过的时候**
      if (!$('input[name=check_reason]').val()) {
        layer.msg('请填写未通过理由');  **如果选择未通过的时候,后面的未通过理由没有填写,值为空,弹出提示信息请填写未通过理由**
        return false;
      }
    }
    
    if (hospitalId <= 0) {    **如果医院不存在的话**
      if (is_verify == 1) {    //审核未通过
        $('#save_hospital_btn').show()   **模态框中新增确定并保存医院的按钮出现**
      } else if(is_verify == 2) {    //审核通过
        if (!$('input[name=hospital_lat]').val() || !$('input[name=hospital_lng]').val()) {
          layer.msg('请填写医院的经纬度');  **所属医院下面的经纬度有一个没填写都会弹出提示信息**
          return false;
        }
        $('#save_hospital_btn').hide()  **模态框中新增确定并保存医院的按钮消失**
      } else {  **这个else中的条件就是 : 待审核中**
        $('#save_hospital_btn').hide()   **模态框中新增确定并保存医院的按钮消失**
      }
    }
    $('#confirmSubmit').modal('show');  **只要点击提交按钮模态框就会显示**
  });
$(function(){
    $(":input[name=is_verify]").on("change",function(e){  **审核状态的下拉列表发生变化的时候触发这个函数**
      console.log($(this).attr("data"),$(this).val());
      if($(this).attr("data") == 1){
        layer.msg('已通过审批用户不可继续审批',{time:1000},function () {
          $(this).val(1);
          $(this).reset();
        });
        return false;
      } else {
        if ($(this).val() == 1) {  **如果审核状态是未通过,显示输入未通过理由的input输入框**
          $('.Nopass').show();
        } else {
          $('.Nopass').hide();
        }
      }
    });
  });
function save(save_hospital){  **触发模态框中新增确定并保存医院的按钮的函数**   **save_hospital  是要传递的参数**
    data = $('#postform').serializeArray()  **得到提交表单中的所有数据**
    if (save_hospital) {  **如果要传递的参数已经存在**
      if (!$('input[name=hospital_lat]').val() || !$('input[name=hospital_lng]').val()) {
        layer.msg('请填写医院的经纬度');  **如果经纬度有一个没填写就弹出这个信息**
        return false;
      }
      data.push({name:'save_hospital',value:1}); **将这个医院保存到数据中**
    }
    $.ajax({
      type: 'POST',
      url : "{{url('admin/pyhsician/')}}/"+{{$data->id}},
      dataType: 'json',
      data: data,
      success: function(data){
        if(data.status==1){
          layer.msg(data.message);
          setTimeout(function(){//两秒后跳转
            window.location.href = data.url;
          },1000);
        }else{
          alert(data.message);
        }
      },
      error:function(data){
        if (data.status == 422) {
          var json=JSON.parse(data.responseText);
          json = json.errors;
          for ( var item in json) {
            for ( var i = 0; i < json[item].length; i++) {
              layer.msg(json[item][i],{time:1000});
              return ; //遇到验证错误,就退出
            }
          }
        } else {
          layer.msg('服务器连接失败',{time:1000});
        }
        return ;
      }
  });

	  return false;
	  function success(data) {
	    if (data.status == 0) {
	      alert(data.message);
	    } else {
	      window.location.href = data.url;
	    }
	  };
  }

以上所述是小编给大家介绍的js弹出模态框方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
ExtJS 2.0实用简明教程 之获得ExtJS
Apr 29 Javascript
js验证模型自我实现的具体方法
Jun 21 Javascript
动态加载jQuery的两种方法实例分析
Jul 17 Javascript
Textarea输入字数限制实例(兼容iOS&amp;安卓)
Jul 06 Javascript
基于JSON数据格式详解
Aug 31 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
Sep 05 jQuery
推荐VSCode 上特别好用的 Vue 插件之vetur
Sep 14 Javascript
基于JavaScript canvas绘制贝塞尔曲线
Dec 25 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
Sep 16 Javascript
js判断一个对象是数组(函数)的方法实例
Dec 19 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
Oct 27 Javascript
jquery插件实现悬浮的菜单
Apr 24 jQuery
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
Mar 29 #Javascript
微信小程序生成分享海报方法(附带二维码生成)
Mar 29 #Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
Mar 29 #Javascript
微信小程序生成二维码的示例代码
Mar 29 #Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
Mar 29 #Javascript
JavaScript实现无限级递归树的示例代码
Mar 29 #Javascript
使用weixin-java-miniapp配置进行单个小程序的配置详解
Mar 29 #Javascript
You might like
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
再论Javascript的类继承
2011/03/05 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
2013/01/21 Javascript
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
深入理解javascript中的 “this”
2017/01/17 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
python实现simhash算法实例
2014/04/25 Python
Python中关于使用模块的基础知识
2015/05/24 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
python tkinter基本属性详解
2019/09/16 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
实习生的自我评价
2014/01/08 职场文书
公司中秋节活动方案
2014/02/12 职场文书
会计员岗位职责
2014/03/15 职场文书
商场主管竞聘书
2014/03/31 职场文书
公司募捐倡议书
2014/05/14 职场文书
兽医医药专业求职信
2014/07/27 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
MySQL分区路径子分区再分区
2022/04/13 MySQL
基于Redission的分布式锁实战
2022/08/14 Redis