jQuery EasyUI 表单插件 - Form 表单


过 $.fn.form.defaults 重写默认的 defaults。

表单(form)提供多种方法来执行带有表单字段的动作,比如 ajax 提交、加载、清除,等等。当提交表单时,调用 'validate' 方法来检查表单是否有效。

用法

创建一个简单的 HTML 表单。构建表单并给 id、action、method 赋值。

  1. <form id="ff" method="post">
  2.     <div>
  3. <label for="name">Name:</label>
  4. <input class="easyui-validatebox" type="text" name="name" data-options="required:true" />
  5.     </div>
  6.     <div>
  7. <label for="email">Email:</label>
  8. <input class="easyui-validatebox" type="text" name="email" data-options="validType:'email'" />
  9.     </div>
  10.     ...
  11. </form>

让表单(form)成为 ajax 提交的表单(form)

  1. $('#ff').form({
  2.     url:...,
  3.     onSubmit: function(){
  4. // do some check
  5. // return false to prevent submit;
  6.     },
  7.     success:function(data){
  8. alert(data)
  9.     }
  10. });
  11. // submit the form
  12. $('#ff').submit();

去做一个提交动作

  1. // call 'submit' method of form plugin to submit the form
  2. $('#ff').form('submit', {
  3.     url:...,
  4.     onSubmit: function(){
  5. // do some check
  6. // return false to prevent submit;
  7.     },
  8.     success:function(data){
  9. alert(data)
  10.     }
  11. });

通过额外的参数提交

  1. $('#ff').form('submit', {
  2.     url:...,
  3.     onSubmit: function(param){
  4. param.p1 = 'value1';
  5. param.p2 = 'value2';
  6.     }
  7. });

处理提交响应

提交一个 ajax 表单(form)是非常简单的。当提交完成时用户可以获得响应数据。请注意,响应数据是来自服务器的原始数据。对响应数据的解析动作要求获得正确的数据。

例如,响应数据假设是 JSON 格式,一个典型的响应数据如下所示:

  1. {
  2.     "success": true,
  3.     "message": "Message sent successfully."
  4. }

现在在 'success' 回调函数中处理 JSON 字符串。

  1. $('#ff').form('submit', {
  2.     success: function(data){
  3. var data = eval('(' + data + ')'); // change the JSON string to javascript object
  4. if (data.success){
  5. alert(data.message)
  6. }
  7.     }
  8. });

属性

名称类型描述默认值
urlstring要提交的表单动作 URL。null

事件

名称参数描述
onSubmitparam提交前触发,返回 false 来阻止提交动作。
successdata当表单提交成功时触发。
onBeforeLoadparam发出请求加载数据之前触发。返回 false 就取消这个动作。
onLoadSuccessdata当表单数据加载时触发。
onLoadErrornone加载表单数据时发生某些错误的时候触发。

方法

名称参数描述
submitoptions做提交动作,options 参数是一个对象,它包含下列属性:
url:动作的 URL
onSubmit:提交之前的回调函数
success:提交成功之后的回调函数
下面的实例演示如何提交一个有效表单,避免重复提交表单。
  1. $.messager.progress(); // display the progress bar
  2. $('#ff').form('submit', {
  3. url: ...,
  4. onSubmit: function(){
  5. var isValid = $(this).form('validate');
  6. if (!isValid){
  7. $.messager.progress('close'); // hide progress bar while the form is invalid
  8. }
  9. return isValid; // return false will stop the form submission
  10. },
  11. success: function(){
  12. $.messager.progress('close'); // hide progress bar while submit successfully
  13. }
  14. });
loaddata加载记录来填充表单。data 参数可以是一个字符串或者对象类型,字符串作为一个远程 URL,否则作为一个本地记录。
代码实例:
  1. $('#ff').form('load','get_data.php'); // load from URL
  2.  
  3. $('#ff').form('load',{
  4. name:'name2',
  5. email:'mymail@gmail.com',
  6. subject:'subject2',
  7. message:'message2',
  8. language:5
  9. });
clearnone清除表单数据。
resetnone重置表单数据。该方法自版本 1.3.2 起可用。
validatenone进行表单字段验证,当全部字段都有效时返回 true 。该方法和 validatebox 插件一起使用。
enableValidationnone启用验证。该方法自版本 1.3.4 起可用。
disableValidationnone禁用验证。该方法自版本 1.3.4 起可用。