layer系列之弹层layer.prompt
layer官网:https://www.layui.com/doc/modules/layer.html
layer在线调试:http://layer.layui.com/
如何使用layer.prompt在输入值为空的情况下点击确定继续执行逻辑?
使用layer.open实现方式:
附:源码如下
layer.open({
//formType: 2,//这里依然指定类型是多行文本框,但是在下面content中也可绑定多行文本框
title: '是否确信将账号临时挂账?',
area: ['300px', '240px'],
btnAlign: 'c',
closeBtn:'1',//右上角的关闭
content: `<div><p>备注:</p><textarea name="txt_remark" id="remark" style="width:200px;height:80px;"></textarea></div>`,
btn:['确认','取消','关闭'],
yes: function (index, layero) {
var value1 = $('#remark').val();//获取多行文本框的值
alert('您刚才输入了:' + value1);
layer.close(index);
//可执行确定按钮事件并把备注信息(即多行文本框值)存入需要的地方
},
no:function(index)
{
alert('您刚才点击了取消按钮');
layer.close(index);
return false;//点击按钮按钮不想让弹层关闭就返回false
},
close:function(index)
{
alert('您刚才点击了关闭按钮');
return false;//点击按钮按钮不想让弹层关闭就返回false
}
});

附:layer.open中按钮点击事件:
layer.open({
content: 'test'
,btn: ['按钮一', '按钮二', '按钮三']
,yes: function(index, layero){
//按钮【按钮一】的回调
},btn2: function(index, layero){
//按钮【按钮二】的回调
alert('这是点击了按钮二');
return false;//点击后不关闭窗口,需返回false
},btn3: function(index, layero){
//按钮【按钮三】的回调
alert('这是点击了按钮三');
return false;//点击后不关闭窗口,需返回false
}
,cancel: function(){
//右上角关闭回调
}
});
用layer.open可以实现弹出文本框及按钮事件,layer.prompt也是在layer.open基础上的封装.....
使用layer.prompt时,
如果文本框输入值是空的话点击确定没有反应,不能向下执行。
但是我又需要在这种情况下去继续执行判断或逻辑时该怎么做??
注:使用layer.prompt时,layer使用的版本为layer-v3.0
官方代码说明如下:
//prompt层新定制的成员如下
{
formType: 1, //输入框类型,支持0(文本)默认1(密码)2(多行文本)
value: '', //初始时的值,默认空字符
maxlength: 140, //可输入文本的最大长度,默认500
}
//例子1
layer.prompt(function(value, index, elem){
alert(value); //得到value
layer.close(index);
});
//例子2
layer.prompt({
formType: 2,
value: '初始值',
title: '请输入值',
area: ['800px', '350px'] //自定义文本域宽高
}, function(value, index, elem){
alert(value); //得到value
layer.close(index);
});
示例代码如下:
layer.prompt({
formType:2,
title:'请填写排除原因(注:必填项)',
area:['500px','150px'],
btnAlign:'c'
},function(value,index,elem){
alert(value);
laker.close(index);
});

由官网查看文档可知layer.prompt也是继承layer.open的,所以改成如下所示:
layer.prompt({
formType: 2, title: '请填写排除原因(注:必填项)', area: ['500px', '150px'], btnAlign: 'c', yes: function(index, layero){ // 获取文本框输入的值 var value = layero.find(".layui-layer-input").val(); if (value) { alert("输入值为:" + value); layer.close(index); } else { alert("输入值为空!"); } }});

layer.prompt({
formType: 2,//这里依然指定类型是多行文本框,但是在下面content中也可绑定多行文本框
title: '是否确信将账号临时挂账?',
area: ['300px', '100px'],
btnAlign: 'c',
content: `<div><p>备注:</p><textarea name="txt_remark" id="remark" style="width:200px;height:80px;"></textarea></div>`,
yes: function (index, layero) {
var value1 = $('#remark').val();//获取多行文本框的值
alert('您刚才输入了:' + value1);
//可执行确定按钮事件并把备注信息(即多行文本框值)存入需要的地方
}
});
效果如下:



layer系列之弹层layer.prompt的更多相关文章
- 基于layer简单的弹层封装
/** * 产生长度为32的Guid字符串 */ function getGuid32() { var rt_str = String.fromCharCode(65 + Math.floor(Mat ...
- 弹出层layer的使用
弹出层layer的使用 Intro layer是一款web弹层组件,致力于服务各个水平段的开发人员.layer官网:http://layer.layui.com/ layer侧重于用户灵活的自定义,为 ...
- 弹层组件-layer
layer是Layui的一个弹层组建,功能强大,总之我很喜欢,下面介绍这个组件的基本用法. 首先如果只需要使用layer而不想使用Layui可以单独下载layer组件包,页面引入jquery1.8以上 ...
- layer弹层基本参数初尝试
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- jquery layer弹窗弹层插件 小巧强大
/* 先去官网下载最新的js http://sentsin.com/jquery/layer/ ①引用jquery ②引用layer.min.js */ 触发弹层的事件可自由绑定,如: $('#id ...
- 牛逼的 弹出层 layer !!!
功能强大,实用,操作方便,文档齐全. http://layer.layui.com/api.html 常用功能代码: <!doctype html> <html> <he ...
- jquery layer弹窗弹层插件 (转)
/* 先去官网下载最新的js http://sentsin.com/jquery/layer/ ①引用jquery ②引用layer.min.js */ 触发弹层的事件可自由绑定,如: $('#id ...
- 非常好用的弹出层 layer,常用功能demo,快速上手!
功能强大,实用,操作方便,文档齐全. 参数灵活,丰富.可以作为开发项目的公共模块,多处使用.老文档地址:http://layer.layui.com/api.html 已经停止维护 新文档地址:htt ...
- layer弹层
获得 layer 文件包后,解压并将 layer 整个文件夹(不要拆分结构) 存放到你项目的任意目录,使用时,只需引入 layer.js 即可. 注意:引入layer.js前必须先引入jquery1. ...
随机推荐
- 嘉馨学姐又双叒叕来吃包子了 QDUOJ 模拟 尺度法
嘉馨学姐又双叒叕来吃包子了 QDUOJ 模拟 尺度法 点我进入OJ题目详情 题意 给你一串数,让你求长度最长的子串,这个字串满足里面没有重复出现的数字. 解题思路 使用一个标记数组,来标记每个数的第一 ...
- 最长上升子序列(LIS) Medium2
JGShining's kingdom consists of 2n(n is no more than 500,000) small cities which are located in two ...
- python email模块
python email模块 官方文档 email模块 电子邮件包是一个用于管理电子邮件消息的库.它的特殊设计不用于向SMTP (RFC 2821).NNTP或其他服务器发送任何电子邮件消息;这些是模 ...
- linux后台运行springboot项目
首先需要进到自己springboot项目的根目录,然后执行如下linux命令 nohup java -jar 自己的springboot项目.jar >日志文件名.log 2>&1 ...
- Python自动化学习--控制浏览器
from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www. ...
- 北京师范大学第十五届ACM决赛-重现赛C Captcha Cracker (字符串模拟)
链接:https://ac.nowcoder.com/acm/contest/3/C 来源:牛客网 Captcha Cracker 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 26 ...
- libboost_regex 备份用时
libboost_regex-vc100-mt-s-1_57.lib //生成数据
- 如何获得带转义的json内容
stringify两次 JSON.stringify(JSON.stringify(obj))
- update_all_fun(send recv)
'''Send messages through all edges >>> update all nodes.DGLGraph.update_all(message_func='d ...
- Vscode窗口被覆盖
用Vscode用的好好的,突然就发现窗口被覆盖了 解决办法如下:1.ctrl+shift+p 快捷键打开如下界面, 2.接着在搜索框中输入settings,点击首先项:打开设置(json) 3.再se ...