一类是普通的表单提交,另一类就是列表页面的表单提交,主要是用来查询搜索列表使用的。今天我就简单介绍一下前者。
这是官网上的普通列表页面,
<div class="pageContent">
<form method="post" action="demo/common/ajaxDone.html" class="pageForm required-validate" onsubmit="return validateCallback(this,navTabAjaxDone)">
<div class="pageFormContent nowrap" layoutH="97">
<dl>
<dt>必填:</dt>
<dd>
<input type="text" name="name" maxlength="20" class="required" />
<span class="info">class="required"</span>
</dd>
</dl>
<dl>
<dt>必填+邮箱:</dt>
<dd>
<input type="text" name="email" class="required email" alt="请输入您的电子邮件"/>
<span class="info">class="required email"</span>
</dd>
</dl>
<dl>
<dt>电话:</dt>
<dd>
<input type="text" name="phone" class="phone" alt="请输入您的电话"/>
<span class="info">class="phone"</span>
</dd>
</dl>
</div>
<div class="formBar">
<ul>
<li><div class="buttonActive"><div class="buttonContent"><button type="submit">提交</button></div></div></li>
<li><div class="button"><div class="buttonContent"><button type="button" class="close">取消</button></div></div></li>
</ul>
</div>
</form>
</div>
这是个是部分的源代码
只需要在此Form 安常规方式写表单就可以了,和常规的开发时没有区别的
如果是在 navTab中提交 指定 onsubmit="return validateCallback(this,navTabAjaxDone)"
如果是在dialog中提交 指定 onsubmit="return validateCallback(this,dialogAjaxDone)"
关于回调函数 看我的相关博客就可以了。
开发起来和常规的页面提交是没有太大区别的。
我简单介绍一下 提交的 原理
dwz都是采用的 Ajax方式提交,看我写的代码简单注释就很容易理解了
/**
* 普通ajax表单提交
* @param {Object} form
* @param {Object} callback
*/
function validateCallback(form, callback) {
var $form = $(form);
//验证表单如果有非法字段 返回
if (!$form.valid()) {
return false;
}
//Ajax向后台提交数据
$.ajax({
type: form.method || 'POST',
url:$form.attr("action"),
//获取表单的内容数据
data:$form.serializeArray(),
dataType:"json",
cache: false,
//执行回调函数
success: callback || DWZ.ajaxDone,
error: DWZ.ajaxError
});
//保证不会通过普通表单提交
return false;
}