layui插入表单没有效果

本文详细介绍了如何使用layui框架进行网页布局和表单设计,包括栅格系统的使用、表单元素的创建及自定义验证规则,展示了如何通过layui模块化加载方式优化页面加载流程。

1:需要导入layui自己的模块化 必须 必须 必须 加到你写的HTML后面,先加载内容才能加载装饰,可以查官网http://www.layui.com/doc/#modules上的说明.

2:JavaScript代码在body的最底下,有必要仔细研究下.

3:要想完全达到,网页的效果,需要加按他的网页上的css,一般lay开头的就是他家自己带的(直接导入他家的css),其他的就要自己来创建了.

下面是表单的代码:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>layui_11练习</title>

		<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
		<link rel="stylesheet" href="../layui/css/layui.css" media="all" />

		<style>
			.grid-demo {
				padding: 10px;
				line-height: 50px;
				text-align: center;
				background-color: #79c48c;
				color: #fff;
			}
			
			.grid-demo-bg1 {
				background-color: #63ba79;
			}
		</style>
		<script>
		</script>
	</head>

	<body>
		<div class="layui-container">
			<blockquote class="layui-elem-quote">注意:下述演示中的颜色只是做一个区分作用,并非栅格内置。</blockquote>

			<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
				<legend>始终等比例水平排列</legend>
			</fieldset>
		</div>
		<hr style="background-color: red;" />
		<div class="layui-container">
			<div class="layui-row">
				<div class="layui-col-xs6">
					<div class="grid-demo grid-demo-bg1">6/12</div>
				</div>
				<div class="layui-col-xs6">
					<div class="grid-demo">6/12</div>
				</div>
			</div>
		</div>
		<hr style="background-color: red;" />
		<div class="layui-container">
			<div class=" layui-row layui-col-space5 ">
				<div class="layui-col-md4 ">
					<div class="grid-demo grid-demo-bg1 ">1/3</div>
				</div>
				<div class="layui-col-md4 ">
					<div class="grid-demo ">1/3</div>
				</div>
				<div class="layui-col-md4 ">
					<div class="grid-demo grid-demo-bg1 ">1/3</div>
				</div>
			</div>
		</div>
		<hr style="background-color: red;" />
		<div class="layui-container">
			<div class="layui-row">
				<div class="layui-col-md4">
					<div class="grid-demo grid-demo-bg1">4/12</div>
				</div>
				<div class="layui-col-md4 layui-col-md-offset4">
					<div class="grid-demo">偏移4列</div>
				</div>
			</div>
		</div>
		<hr style="background-color: red;" />
		<div class="layui-container">
			<div class="layui-col-md1 layui-col-md-offset5">
				<div class="grid-demo grid-demo-bg1">偏移5列</div>
			</div>
			<div class="layui-col-md1">
				<div class="grid-demo">不偏移</div>
			</div>
		</div>
		<hr style="background-color: red;" />
		<form class="layui-form" action="">
			<div class="layui-form-item">
				<label class="layui-form-label">输入框</label>
				<div class="layui-input-block">
					<input type="text" name="title" required lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input">
					<hr style="background-color: red;" />
					<input type="text" name="title" required lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input">
				</div>
			</div>
			<hr style="background-color: red;" />
			<div class="layui-inline">
				<label class="layui-form-label">验证日期</label>
				<div class="layui-input-inline">
					<input name="date" class="layui-input" id="date" type="text" placeholder="yyyy-MM-dd" autocomplete="off" lay-verify="date">
				</div>
			</div>
			<hr style="background-color: red;" />
			<div class="layui-form-item">
				<label class="layui-form-label">单行选择框</label>
				<div class="layui-input-block">
					<select name="interest" lay-filter="aihao">
						<option value=""></option>
						<option value="0">写作</option>
						<option value="1" selected="">阅读</option>
						<option value="2">游戏</option>
						<option value="3">音乐</option>
						<option value="4">旅行</option>
					</select>
				</div>
			</div>
			<div class="layui-form-item">
				<label class="layui-form-label">复选框</label>
				<div class="layui-input-block">
					<input name="like[write]" title="写作" type="checkbox">
					<input name="like[read]" title="阅读" type="checkbox">
					<input name="like[daze]" title="发呆" type="checkbox">
				</div>
			</div>
			<div class="layui-form-item" pane="">
				<label class="layui-form-label">原始复选框</label>
				<div class="layui-input-block">
					<input name="like1[write]" title="写作" type="checkbox" checked="" lay-skin="primary">
					<input name="like1[read]" title="阅读" type="checkbox" lay-skin="primary">
					<input name="like1[game]" title="游戏" disabled="" type="checkbox" lay-skin="primary">
				</div>
			</div>
		</form>

		<script src="../layui/layui.js" charset="utf-8"></script>
		<!--<script type="text/javascript" src="../layui/layui.all.js"></script>-->
		<!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
		<script>
			layui.use(['form', 'layedit', 'laydate'], function() {
				var form = layui.form,
					layer = layui.layer,
					layedit = layui.layedit,
					laydate = layui.laydate;

				//日期
				laydate.render({
					elem: '#date'
				});
				laydate.render({
					elem: '#date1'
				});
				//创建一个编辑器
				var editIndex = layedit.build('LAY_demo_editor');
				//自定义验证规则
				form.verify({
					title: function(value) {
						if(value.length < 5) {
							return '标题至少得5个字符啊';
						}
					},
					pass: [
						/^[\S]{6,12}$/, '密码必须6到12位,且不能出现空格'
					],
					content: function(value) {
						layedit.sync(editIndex);
					}
				});

				//监听指定开关
				form.on('switch(switchTest)', function(data) {
					layer.msg('开关checked:' + (this.checked ? 'true' : 'false'), {
						offset: '6px'
					});
					layer.tips('温馨提示:请注意开关状态的文字可以随意定义,而不仅仅是ON|OFF', data.othis)
				});

				//监听提交
				form.on('submit(demo1)', function(data) {
					layer.alert(JSON.stringify(data.field), {
						title: '最终的提交信息'
					})
					return false;
				});

				//表单初始赋值
				form.val('example', {
					"username": "贤心" // "name": "value"
						,
					"password": "123456",
					"interest": 1,
					"like[write]": true //复选框选中状态
						,
					"close": true //开关状态
						,
					"sex": "女",
					"desc": "我爱 layui"
				});
			});
		</script>

	</body>

</html>

还有的动画一点就实现的代码也在网页的源代码最后面.

 

 

 

 

### Layui 中防止表单自动保存信息的方法 为了阻止浏览器自动填充表单中的用户名和密码字段,在开发过程中可以采取多种策略来实现这一目标。一种常见的做法是在实际的登录或注册表单之前插入隐藏的虚假输入框,从而误导浏览器的自动填充机制[^1]。 ```html <form> <!-- 虚构的输入域 --> <input style="display:none" type="text" name="fakeusernameremembered"/> <input style="display:none" type="password" name="fakepasswordremembered"/> <!-- 实际使用的输入域 --> <div class="layui-form-item"> <label class="layui-form-label">用户名</label> <div class="layui-input-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">密 码</label> <div class="layui-input-inline"> <input type="password" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="new-password" class="layui-input"> </div> </div> ... </form> ``` 除了上述HTML层面的操作外,还可以通过设置`autocomplete`属性为特定值的方式进一步控制自动成行为: - 对于不需要记住历史记录的文本型输入框,可将其`autocomplete`设为`off`。 - 针对密码类型的输入框,则推荐使用`new-password`作为`autocomplete`的取值,这有助于指示浏览器不应尝试恢复之前的密码条目。 另外,对于某些情况下希望全禁用整个页面内的任何形式数据记忆功能的情形,可以在 `<body>` 或者具体的 `<form>` 标签上全局设定 `autocomplete="off"` 属性。 当涉及到弹窗内嵌套有表单位置时,如果遇到按下回车键重复提交的问题,可以通过监听窗口加载成功事件并移除焦点的方式来规避此现象[^2]。 ```javascript layer.open({ type: 2, content: 'your_content', success: function(layero, index){ // 移除当前获得焦点的对象上的聚焦状态 $(":focus").blur(); } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值