jquery validate和jquery form 插件组合实现验证表单后AJAX提交
要实现表单验证和无刷新提交表单我们可以使用jQuery的两个很好用的插件——jqueryvalidate.js和jqueryform.js.具体详细说明情况下文。
1、jQueryvalidate.js,它说白了就是一个很高尚的人为我们写好了各种表单的验证,不用我们这些童鞋去现写了,一天天的多累啊,呵呵。
2、jQueryform.js,“这个插件能够让你简洁的将以HTML形式提交的表单升级成采用AJAX技术提交的表单。插件里面主要的方法,ajaxForm和ajaxSubmit,能够从form组件里采集信息确定如何处理表单的提交过程。两个方法都支持众多的可选参数,能够让你对表单里数据的提交做到完全的控制。这让采用AJAX方式提交一个表单的过程简单的不能再简单了!”。
下面请看代码示例:
表单:
<formaction="@Url.Action("AddColumns","Content")"method="post"id="AddColumnsForm"> <divclass="form-groupjs-EditCol"id="AddName"> <labelclass="control-label">名称</label> <inputname="Name"class="form-control"required/> </div> <divclass="form-groupjs-EditCol"id="AddRemark"> <labelclass="control-label">备注</label> <inputname="Remark"class="form-control"/> </div> <divclass="form-groupjs-EditCol"id="AddColumnTypeId"> <labelclass="control-label">类型</label> <selectclass="form-control"name="ColumnTypeId"id="AddColumnTypeIdSel"required> </select>//下拉列表空置验证之要项目的Value值是空的就认为是空值 </div> <inputtype="submit"class="btnbtn-primary"value="新增栏目"/> <inputtype="reset"class="btnbtn-default"value="清空"/> </form>
javascript:
$(document).ready(function(){ $("#AddColumnsForm").validate({ submitHandler:function(form){ $(form).ajaxSubmit(); } }); });
后面再加强一下
$(document).ready(function(){ $("#AddColumnsForm").validate({ submitHandler:function(form){ $(form).ajaxSubmit({ success:function(result){//表单提交后更新页面显示的数据 $('#TreeTable').treegrid('reload'); vard=result.split(';'); ShowMsg(d[0],d[1],d[2]); } }); } }); });
然后在修改下错误信息显示位置,符合bootstrap样式
$(document).ready(function(){ $("#AddColumnsForm").validate({ errorPlacement:function(error,element){//自定义错误信息显示操作,element是出错的input控件,error可以认为是是包含
错误信息的label标签
element.next('span.help-block').remove(); element.after('<spanclass="help-block">'+error.text()+'</span>'); element.parent().addClass("has-error"); },submitHandler:function(form){ $(form).ajaxSubmit({ success:function(result){ $('#TreeTable').treegrid('reload'); vard=result.split(';'); ShowMsg(d[0],d[1],d[2]); } }); } });
以上内容介绍了jquery.validate和jquery.form插件组合实现验证表单后AJAX提交,本文写的不好还请见谅,谢谢。