一、form.value
使用form.val方法可获取表单的值,但在获取之前必须先渲染出表单,即使用form.render()方法。在表单渲染完成后,可以通过form.value获取表单的值,返回一个字典对象,键为表单中元素的name属性值,值为对应元素的值。例如:
layui.use('form', function(){
var form = layui.form;
//渲染表单
form.render();
//获取表单值
var data = form.value('formDemo');
//data即为表单各元素的值,如:{"title":"这是一个标题","content":"下面是内容","select":"0","checkbox":"on"}
});
以上示例中,name属性值为“formDemo”的表单中包含了一个文本框、一个文本域、一个下拉框和一个复选框,通过form.value()方法可以获取各元素的值。
二、form.validate(destroy)
使用form.validate方法可进行表单验证,传入destroy参数时在验证完成后会销毁当前form对象。在验证之前必须先渲染出表单,即使用form.render()方法。验证完成后,如果表单验证成功返回true,否则返回false。例如:
layui.use('form', function(){
var form = layui.form;
//渲染表单
form.render();
//验证表单
if(form.validate()){
//表单验证成功
}else{
//表单验证失败
}
});
以上示例中,在表单渲染完成后,使用form.validate()方法进行表单验证,判断表单验证是否成功。
三、form.value 报变量
在表单中使用了赋值的方式对表单元素进行初始化,如果使用form.val方法获取表单值会发现表单值为undefined。在这种情况下可以使用form.val方法进行赋值,如:
layui.use('form', function(){
var form = layui.form;
//渲染表单
form.render();
//初始化表单元素
var title = "这是一个标题";
var select = "0";
//赋值
form.val('formDemo', {
"title": title,
"select": select
});
//获取表单值
var data = form.value('formDemo');
//data即为表单各元素的值,如:{"title":"这是一个标题","content":"","select":"0","checkbox":""}
});
以上示例中,在表单渲染完成后,使用form.val()方法对表单中的元素进行了赋值,接着使用form.value()方法获取表单值并赋值给变量data。
四、form.val赋值
通过form.val方法对表单元素进行赋值,可以设置单个元素或设置多个元素的值。如在表单中存在一个文本域,可通过以下方式设置其值:
layui.use('form', function(){
var form = layui.form;
//渲染表单
form.render();
//对表单元素进行赋值
form.val('formDemo', {
"content": "下面是内容"
});
});
以上示例中,使用form.val()方法对表单中name属性值为“content”的文本域进行了赋值,将文本域的值设置为“下面是内容”。
五、form.validate
使用form.validate方法可进行表单验证,验证通过返回true,否则返回false。在验证之前必须先渲染出表单,即使用form.render()方法。例如:
layui.use('form', function(){
var form = layui.form;
//渲染表单
form.render();
//验证表单
if(form.validate()){
//表单验证成功
}else{
//表单验证失败
}
});
以上示例中,在表单渲染完成后,使用form.validate()方法进行表单验证,判断表单验证是否成功。
六、form.val有些值不能渲染
form.val有些值不能渲染,这时需要手动渲染。例如下拉框中的值:
layui.use('form', function(){
var form = layui.form;
//手动渲染下拉框
form.render('select');
//赋值
form.val('formDemo', {
"select": "0"
});
});
以上示例中,在对下拉框赋值之前需要手动渲染下拉框,通过form.render()的参数控制渲染类型,如“select”表示渲染下拉框。
七、form.validateFields
使用form.validateFields方法可对指定字段进行表单验证,如果验证通过返回true,否则返回false。在验证之前必须先渲染出表单,即使用form.render()方法。例如:
layui.use('form', function(){
var form = layui.form;
//渲染表单
form.render();
//验证表单字段
if(form.validateFields('title', function(res){
if(res){
//验证通过
}else{
//验证失败
}
});
});
以上示例中,在表单渲染完成后,使用form.validateFields()方法对指定字段进行表单验证,判断验证是否通过。
八、form.validate_on_submit
通过设置form.validate_on_submit = true,在提交表单时会先进行表单验证。例如:
layui.use('form', function(){
var form = layui.form;
//渲染表单
form.render();
//设置在提交表单时先进行表单验证
form.validate_on_submit = true;
});
以上示例中,设置在提交表单时先进行表单验证。
九、form.validate不检验字段问题
在表单中存在一些字段在验证时不需要进行验证,可以通过给这些字段添加“novalidate”属性实现。例如:
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/187969.html
微信扫一扫
支付宝扫一扫