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


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 相关文章推荐
直接生成打开窗口代码,不必下载
May 14 Javascript
javascript 鼠标滚轮事件
Apr 09 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
Feb 16 Javascript
jquery中attr和prop的区别分析
Mar 16 Javascript
详解javascript实现自定义事件
Jan 19 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
Jun 06 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
Nov 02 Javascript
Vue.js系列之项目搭建(1)
Jan 03 Javascript
基于Vue实现图书管理功能
Oct 17 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
Sep 19 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
Jun 06 Javascript
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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
javascript html 静态页面传参数
2009/04/10 Javascript
JavaScript访问样式表代码
2010/10/15 Javascript
js原型链原理看图说明
2012/07/07 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
js使用递归解析xml
2014/12/12 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
express express-session的使用小结
2018/12/12 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
Django跨域请求问题的解决方法示例
2018/06/16 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
Windows下安装Scrapy
2018/10/17 Python
Python中字符串与编码示例代码
2019/05/20 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
python 如何实现遗传算法
2020/09/22 Python
小学生十佳少年事迹材料
2014/08/20 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
gateway网关接口请求的校验方式
2021/07/15 Java/Android