| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
语义化 Web 表单,提供体系完整、灵活高效、高度一致的 Web 表单方案。
<form id="loginForm">
UserName: <input type="text" name="username" required /> * 可以是邮箱或手机号。
PassWord: <input type="password" name="pwd" required minlength="6" maxlength="30" /> *
</form>var loginForm = new WebForms(form, {
rules: {
"username": function(field){
return this.RULES.email.test(field.value) ||
this.RULES.mobile.test(field.value);
}
}
})WebForms 的构造函数中,参数列表如下:
可以是表单的 ID。(可选添加 # 前缀)
new WebForms("formId");
new WebForms("#formId");或者是 HTMLFormElement 元素。
new WebForms(document.getElementById("formId"));参考 HTML5 的表单定义,并做了少许补充。
指定当前表单不进行输入合法性校验。
声明表单项为必填项。
注:field 为表单项统称,包括 input, select, textarea, button 等。下同。
声明表单项的可填写最大长度为 number。
声明表单项的填写最小长度为 number。
指定表单项的最大值。用户可以输入小于或等于这个值的内容。
使用的 field 包括数值和日期型表单项,如:input[type=number], input[type=date], ...
指定表单项的最小值。用户可以输入大于或等于这个值的内容。
使用的 field 包括数值和日期型表单项。
指定表单项的校验规则表达式。
pattern 的值是正则表达式,用户输入的内容必须匹配这个表达式。
异步校验的表单项需要设置这个属性,默认值留空即可。
指定忽略校验的表单项。
指定表单项的类型,支持的类型包括:
指定文件输入框限制的文件类型。
如:
<input type="file" accept="image/jpg,.png,video/*" />accept 属性支持 MIME-TYPE 和后缀设定。更多参考:
定义整个表单是否使用实时校验。
默认不添加 validationRealtime 属性时,整个表单默认不进行实时校验。
定义单个表单项是否使用实时校验。添加 validationRealtime 属性默认为使用实时校验, 除非 field[validationRealtime=nonrealtime]。
绑定事件,在对应事件触发时,执行 handler 函数。
支持的事件请参考 Events 部分。
遍历整个表单的所有表单项。
new WebForms("#formId").each(function(field){
switch(field.name){
case "username":
this.RULE.email.test(field.value);
break;
}
// ...
});根据用户在表单中的输入值,返回整个表单的查询字符串。
WebForms 提供了完整的事件模型,通过监听各种事件就可以几乎所有的表单交互动作。
单个表单项通过校验时触发 valid 事件。
var WebForms = require("WebForms");
var webforms = new WebForms("#formId");
webforms.on("valid", function(field){
switch(field.name){
case "username":
//...
break;
}
});单个表达项未通过校验时触发 invalid 事件。
单个表单项发生变更时触发 change 事件。
单个表单项获得焦点时触发 focus 事件。
单个表单项失去焦点时触发 blur 事件。
鼠标进入单个表单项时触发 mouseover 事件。
鼠标离开单个表单项时触发 mouseout 事件。
WebForms 出现异常时触发 error 事件。
常见异常包括:
整个表单校验完成后触发 complete 事件。
注:针对整个表单的事件,参数上下文与单个表单项不同,如下:
webforms.on("validate:complete", function(certified){
console.log(certified ? "passed": "failed")
});表单校验通过,可以提交表单时触发 submit 事件。
绑定 submit 事件的处理函数中,返回 false 可以取消表单提交。 希望使用异步方式提交表单时可以使用这种方式。
webforms.on("submit", function(form){
jQuery.ajax({
url: form.action,
data: form.queryString(),
success: function(){}
});
return false;
});| Back | FazBrowse Home | New Git URL |