功能描述:
在页面弹出一个form表单,ajax无刷新提交表单,表单需通过验证。
适用范围:
适用于在列表页面新增,修改记录。
需要加载的js文件:
jquery.min.js
artDialog.js
iframeTools.js
jquery.form.js
jquery.validate.js
实现思路:
在页面中将表单放到一个隐藏的容器中,用artdialog弹出该form并对form加上jqueryvalidate验证,提交采用jqueryform ajax提交,由于都是用现成的插件写作代码量很少。
<div id="g_cn" style="display:none;width:700px;"> <table id="base_info" class="tb_normal" width="96%"> <!-- 新闻内容 --> <tr> <td width=20% align="right" class="td_normal_title">花名:</td> <td><input readonly onFocus="this.blur()" type="text" id="bHname" value=""></td> <td width=20% align="right" class="td_normal_title">花名拼音:</td> <td><input readonly onFocus="this.blur()" id="bSpell" type="text" value=""></td> </tr> <tr> <td width=15% align="right" class="td_normal_title">姓名:</td> <td><input readonly onFocus="this.blur()" id="bEmpName" type="text" value=""></td> <td width=15% align="right" class="td_normal_title">性别:</td> <td><input readonly onFocus="this.blur()" id="bH_sex" type="text" value=""></td> </tr> <tr> <td width=15% align="right" class="td_normal_title">部门:</td> <td><input readonly onFocus="this.blur()" id="bDept" type="text" value=""></td> <td width=15% align="right" class="td_normal_title">职务:</td> <td><input readonly onFocus="this.blur()" id="bPosition" type="text" value=""></td> </tr> <tr> <td width=15% align="right" class="td_normal_title">申请时间:</td> <td><input readonly onFocus="this.blur()" id="bRegTime" type="text" value=""></td> <td width=15% align="right" class="td_normal_title">审核时间:</td> <td><input readonly onFocus="this.blur()" id="bAuditTime" type="text" value=""></td> </tr> <tr> <td width=15% align="right" class="td_normal_title">花名出处:</td> <td><input readonly onFocus="this.blur()" id="bFrom" type="text" value=""></td> <td width=15% align="right" class="td_normal_title">花名注释:</td> <td><input readonly onFocus="this.blur()" id="bRemark" type="text" value=""></td> </tr> </table> </div> a <script language="javascript" type="text/javascript"> //form验证 $.validator.addMethod('checkHname', function() { var validate=false; var hname = $("#r_c").val().replace(/\s/g,'').substr($("#r_c").val().length-2,2); $.ajax({ url : "/mipdemo/app/hname/index.php", data : { 'hname':hname, 'empid':$("#username").val() }, type : "get", async : false, cache : false, timeout : 10000, success : function(data) { eval('var result ='+ data); validate = result.pass; strHnameValideResult = result.message; if(validate === true || validate === 'true'){ $('#spell').val(result.pinyin); $('#hname').val(hname); } } }); return validate; }); //form验证 $.validator.addMethod('checkUser', function() { var validate=false; var username = $("#username").val(); if(username != "0"){ validate = true; } return validate; }); //form验证 $.validator.addMethod('checkSex', function() { var validate=false; $("input[name='h_sex']").each(function(){ if($(this).attr("checked")=="true"){ validate = true; } }) return validate; }); $('#myForm').validate({ errorPlacement: function(error, element){ if(element.attr("name") != "h_sex"){ element.parent().find('label').remove(); }else{ element.parent().find('label.onError,label.onCorrect').remove(); } element.parent().append(error.attr('class','onError')); }, success: function(label){ label.removeClass("onCorrect").removeClass("onError"); label.addClass('onCorrect').text(''); }, onkeyup: true, rules : { r_a:{ min:1 }, r_b:{ required:true }, r_c:{ required:true, minlength:2, maxlength:2, checkHname:true }, h_sex:{ required:true } }, messages : { r_a:{ min:'作品类型必选' } , r_b:{ required:'作品名称必填' }, r_c:{ required:'花名必填', minlength:"请输入2个中文", maxlength:"请输入2个中文", checkHname: '该花名已使用或不符合规则' }, h_sex:{ required:"性别必选" } } }); $(document).ready(function() { var options = { target: '#output2', success: showResponse // post-submit callback }; $('#myForm').ajaxForm(options); var alt =null; $("#List_ViewTable tr").click(function(){ var empid = $(this).find("input[type='checkbox']").val(); if(empid != ""){ $.ajax({ url : "/mipdemo/app/hname/index.php", data : { 'empid':empid }, type : "get", cache : false, timeout : 10000, success : function(data) { var result = $.parseJSON(data); $("#bHname").val(result.hname); $("#bSpell").val(result.spell); $("#bEmpName").val(result.EmpName); $("#bH_sex").val(result.h_sex); $("#bDept").val(result.deptName); $("#bPosition").val(result.PositionName); $("#bRegTime").val(result.regtime); $("#bAuditTime").val(result.audit_time); $("#bFrom").val(result.r_a + result.r_b); $("#bRemark").val(result.r_d); if(alt !=null){ alt.close(); } alt=art.dialog({ title:'用户信息', content: document.getElementById('g_cn'), width:750, button: [ { name: '保存', focus: true, callback: function () { $('#myForm').submit(); return false; } }, { name: '关闭', callback: function () { } } ] }); } }); } }); function showResponse(data){ if(alt !=null){ alt.close(); } if(data=='success'){ artDialog.alert('保存成功'); }else{ art.dialog.close(); artDialog.alert('保存失败'); } } }); </script>
以上所述是小编给大家介绍的jQuery validate+artdialog+jquery form实现弹出表单思路详解,希望对大家有所帮助!
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月30日
2024年11月30日
- 模拟之声慢刻CD《摇滚五杰》[低速原抓WAV+CUE]
- 罗云熙《罗云熙「此刻 X 以光」演唱会Live合辑》[320K/MP3][184.22MB]
- 罗云熙《罗云熙「此刻 X 以光」演唱会Live合辑》[FLAC/分轨][978.14MB]
- 罗维《拉赫玛尼诺夫 第三钢琴协奏曲》[320K/MP3][99MB]
- 许巍-每一刻都是崭新的【wav】
- 【House风格】VA-2024-TheDeepCollective:MelodicHaze(FLAC)
- LuciaMicarelli《AnEveningWithLuciaMicarelli(Live)》[WAV分轨]
- 娜琏《NA》[320K/MP3][51.93MB]
- 娜琏《NA》[FLAC/分轨][293.28MB]
- (G)I-DLE《I SWAY》[320K/MP3][26.11MB]
- 黑鸭子2005-发烧[首版][WAV+CUE]
- 黄思婷2002-感动[豪记唱片][WAV+CUE]
- 黄乙玲1993-受伤的心·冷暖人生[台湾首版][WAV+CUE]
- (G)I-DLE《I SWAY》[FLAC/分轨][150.46MB]
- FTISLAND《Serious》[320K/MP3][82.33MB]