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


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 相关文章推荐
JavaScript DOM学习第八章 表单错误提示
Feb 19 Javascript
在JavaScript中获取请求的URL参数
Dec 22 Javascript
js返回前一页刷新本页重载页面
Jul 29 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
Dec 16 Javascript
JavaScript电子时钟倒计时第二款
Jan 10 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
Mar 30 Javascript
js实现随机点名小功能
Aug 17 Javascript
JavaScript实现音乐自动切换和轮播
Nov 05 Javascript
Vuex提升学习篇
Jan 11 Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 Javascript
微信小程序使用二次贝塞尔曲线画波浪
Dec 25 Javascript
如何优化vue打包文件过大
Apr 13 Vue.js
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
我的论坛源代码(二)
2006/10/09 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
重定向实现代码
2006/11/20 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
2016/06/22 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
打开电脑上的QQ的python代码
2013/02/10 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
Python并行分布式框架Celery详解
2018/10/15 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
大门门卫岗位职责
2013/11/30 职场文书
婚庆公司的创业计划书
2014/01/22 职场文书
优秀护士获奖感言
2014/02/20 职场文书
保健品市场营销方案
2014/03/31 职场文书
捐书倡议书
2014/08/29 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL