使用$.fn.form.defaults重写默认值对象
form提供了各种方法来操作执行表单字段,比如:ajax提交, load, clear等等。当提交表单的时候可以调用validate方法检查表单是否有效。
创建一个简单的HTML表单。构建一个包含id、action和method值的表单元素。
使普通表单成为ajax提交方式的表单。
$('#ff').form({ url:..., onSubmit: function(){ // do some check // return false to prevent submit; }, success:function(data){ alert(data) } }); // submit the form $('#ff').submit();
做一个提交操作。
// call 'submit' method of form plugin to submit the form $('#ff').form('submit', { url:..., onSubmit: function(){ // do some check // return false to prevent submit; }, success:function(data){ alert(data) } });
提交额外的参数。
$('#ff').form('submit', { url:..., onSubmit: function(param){ param.p1 = 'value1'; param.p2 = 'value2'; } });
提交一个ajax表单是非常简单的。用户可以在提交完成后获取响应数据。注意,响应的数据是来自服务器的原始数据。A parse action to the response data is required to get the correct data.
例如,响应数据假设为JSON,一个典型的响应数据格式如下:
{ "success": true, "message": "Message sent successfully." }
现在在'success'回调函数中处理JSON字符串。
$('#ff').form('submit', { success: function(data){ var data = eval('(' + data + ')'); // change the JSON string to javascript object if (data.success){ alert(data.message) } } });
属性名 | 属性值类型 | 描述 | 默认值 |
---|---|---|---|
novalidate | boolean | 定义是否验证表单的字段,true:验证,false:不验证。(该属性自1.4版开始可用) | FALSE |
iframe | boolean | 定义是否使用iframe模式提交表单,true:使用,false:不使用。(该属性自1.4.5版开始可用) | TRUE |
ajax | boolean | 定义是否使用ajax提交表单,true:使用,false:不使用。(该属性自1.4版开始可用) | TRUE |
dirty | boolean | 定义是否只提交变更字段,true:是,false:不是。(该属性自1.5版开始可用) | FALSE |
queryParams | object | 当表单被提交到服务器的时候增加的额外参数列表。(该属性自1.4版开始可用) | {} |
url | string | 提交表单动作的URL地址 | null |
事件名 | 事件参数 | 描述 |
---|---|---|
onSubmit | param | 在提交之前触发,返回false可以终止提交。 |
onProgress | percent | 在上传进度数据有效时触发。在“iframe”属性设置为true时该事件不会被触发。(该事件自1.4.5版开始可用) |
success | data | 在表单提交成功以后触发。 |
onBeforeLoad | param | 在请求加载数据之前触发。返回false可以停止该动作。 |
onLoadSuccess | data | 在表单数据加载完成后触发。 |
onLoadError | none | 在表单数据加载出现错误的时候触发。 |
onChange | target | 在表单数据发生变化的时候触发。(该事件自1.4.2版开始可用) |
方法名 | 方法参数 | 描述 |
---|---|---|
submit | options | 执行提交操作,该选项的参数是一个对象,它包含以下属性: url:请求的URL地址。 onSubmit: 提交之前的回调函数。 success: 提交成功后的回调函数。 下面的例子演示了如何提交一个有效并且避免重复提交的表单。 $.messager.progress(); // 显示进度条 $('#ff').form('submit', { url: ..., onSubmit: function(){ var isValid = $(this).form('validate'); if (!isValid){ $.messager.progress('close'); // 如果表单是无效的则隐藏进度条 } return isValid; // 返回false终止表单提交 }, success: function(){ $.messager.progress('close'); // 如果提交成功则隐藏进度条 } }); |
load | data | 读取记录填充到表单中。数据参数可以是一个字符串或一个对象类型,如果是字符串则作为远程URL,否则作为本地记录。 代码示例: $('#ff').form('load','get_data.php'); // 读取表单的URL $('#ff').form('load',{ name:'name2', email:'mymail@gmail.com', subject:'subject2', message:'message2', language:5 }); |
clear | none | 清除表单数据。 |
reset | none | 重置表单数据。(该方法自1.3.2版开始可用) |
validate | none | 做表单字段验证,当所有字段都有效的时候返回true。该方法使用validatebox(验证框)插件。 |
enableValidation | none | 启用验证。(该方法自1.3.4版开始可用) |
disableValidation | none | 禁用验证。(该方法自1.3.4版开始可用) |
resetValidation | none | 重置验证设置为默认值。(该方法自1.4.5版开始可用) |
resetDirty | none | 重置只提交变更字段的设置为默认值。(该方法自1.5版开始可用) |