form.on('submit(*)', function(data) { data = data.field; // 数据校验 if(!isIntNumer(data.canhuirenshu)){ layer.msg('参会人数应输入整数', { time: 2000, icon: 5 }); return false }
时间: 2024-01-10 12:01:55 浏览: 26
这段代码中,form.on('submit(*)', function(data) { ... }是用于监听表单提交事件的,其中的*是指表单的lay-filter属性值,可以根据需要进行修改。当表单提交时,执行函数体内的代码逻辑。
代码中首先通过data.field获取表单提交的数据,然后进行数据校验,确保参会人数为整数。如果参会人数不是整数,就会弹出提示框,并返回false,阻止表单提交。
相关问题
form.on('submit(pattern-add-form-submit)', function (data) { console.log("data:" + data.field) if (data.field.title === '') { febs.alert.warn("标题不能为空q"); } else if (data.field.price === null) { febs.alert.warn("价格不能为空") } else { febs.post(ctx + 'pattern/add', data.field, function () { layer.closeAll(); febs.alert.success('新增成功'); $('#febs-pattern').find('#query').click(); }); } return false; });我想校验非空字段,第一次标题为空提交正常提示,然后标题输入值后点击提交没反应
根据您提供的代码,可能是因为您的表单提交是通过 Ajax 来实现的,而在第一次提交时,您已经通过 `return false` 阻止了默认的表单提交行为,从而导致了表单的重置。因此,后续的提交并没有触发表单的提交事件。
为了解决这个问题,您可以在表单验证通过后,手动触发表单的提交事件,而不是使用 `return false` 来阻止默认行为。修改后的代码如下:
```javascript
form.on('submit(pattern-add-form-submit)', function (data) {
console.log("data:" + data.field);
if (data.field.title === '') {
febs.alert.warn("标题不能为空q");
} else if (data.field.price === null) {
febs.alert.warn("价格不能为空");
} else {
febs.post(ctx + 'pattern/add', data.field, function () {
// 清除表单数据
form[0].reset();
layer.closeAll();
febs.alert.success('新增成功');
$('#febs-pattern').find('#query').click();
});
// 手动触发表单提交事件
form.trigger('submit');
}
// 返回 false 防止事件冒泡
return false;
});
```
这样,当表单验证通过后,会先提交表单数据,然后手动触发表单的提交事件,最终实现表单的提交。
另外,如果您使用的是 layui 框架,也可以使用 `form.render()` 方法来重新渲染表单。例如:
```javascript
form.render();
```
这样可以重新渲染表单,从而避免表单重置。
帮我分析一下js代码 <script> layui.use(['element', 'layer', 'form'], function () { var layer = layui.layer, form = layui.form, element = layui.element; form.verify({ username:function (value){ if(value.length < 5){ return '账号至少得5个字符'; } } ,password: [/^[\S]{6,12}$/,'密码必须6到12位,且不能出现空格'] ,cellphone:function (value){ if (value.length!=11){ return '请输入正确的手机号'; } } ,content: function(value){ layedit.sync(editIndex); } }) // 发布 form.on('submit(updata)', function (formData) { var student= formData.field; Ax.rest("/admin/student/updata", student, function (data) { layer.open({ type: 1, title: false, area: ['355px', '140px'], content: $('#dialog'), cancel: function (index, layero) { location.href = "/admin/student.html" } }); }) }); }); </script>
这是一个使用 layui 框架的 JavaScript 代码,主要作用是在网页中创建一个表单,然后对表单中的数据进行验证,最后将数据发送给服务器。
首先通过 layui.use 引入了三个模块:element、layer、form。这三个模块是 layui 提供的常用模块,分别用于创建网页元素、弹出层和表单验证。
然后使用 form.verify 方法对表单中的数据进行验证,其中包括了账号的长度限制、密码的长度和空格限制、手机号的位数限制以及内容的同步校验等等。验证不通过时,会返回一个错误提示信息。
最后使用 form.on 方法监听表单提交事件,当表单提交时,会将表单中的数据发送给服务器,并在提交成功后弹出一个提示框,然后跳转到另一个页面。
需要注意的是,这段代码中有一个 Ax.rest 方法,这个方法可能是自定义的,所以需要在其他地方查找该方法的具体实现。