弹出框页面中使用jquery.validate验证控件
彈出框頁面中使用jquery.validate驗(yàn)證控件有幾個(gè)問題需要解決:
1,彈出框的提交事件完成后如何關(guān)閉彈出框頁面?
2,提交不成功如何返回當(dāng)前頁?
3,如果知道驗(yàn)證事件成功?
之前筆者都是JS驗(yàn)證控件,放著強(qiáng)大的jquery.validate控件不用,自己寫驗(yàn)證,會(huì)是讓追求程序完美的人心里有種淡淡的憂傷。
不過還好,今天下午筆者花了點(diǎn)時(shí)間,已實(shí)現(xiàn)這種功能,雖然也不是很完美,但也基本能用了。
先看下效果,一會(huì)再上代碼。
當(dāng)驗(yàn)證通過后,程序后臺(tái)開始提交,提交成功,當(dāng)前彈出框關(guān)閉。
為此代碼如下。
1,打開彈出框。
function AnswerDialog(id) {$.dialog({width: '450px',height: '500px',lock: true, title: '回復(fù)提問',content: 'url:/VideoManage/QuestionEdit/' + id});}2,在彈出框中定義關(guān)閉事件。
var api = frameElement.api, W = api.opener;var data = api.data;3,驗(yàn)證成功開始執(zhí)行自定義代碼。
$(document).ready(function () {$("#formLogin").validate({event: "keyup",success: function () {ok },rules: {VideoTitle: { required: true },Answer: { required: true }},messages: {VideoTitle: { required: '不能為空!' },Answer: { required: '不能為空!' }}});});4,在ok方法中提交數(shù)據(jù)庫,如果返回結(jié)果正確,關(guān)閉當(dāng)前彈出框。
function ok() {var questionId = $('#QuestionId').val();var answer = $('#Answer').val(); var isPublic = $('input:radio[name="IsPublic"]:checked').val();$.post("/VideoManage/QuestionEditPost", { questionId: questionId, answer: answer, isPublic: isPublic }, function (txt) {if (txt == "OK") {api.close();} }, "text"); }5,如果返回結(jié)果不正確,頁面不會(huì)關(guān)閉,這時(shí)執(zhí)行后臺(tái)傳過來的頁面提示框,并跳轉(zhuǎn)。
return Content("<script>alert('新增失敗,請(qǐng)稍后重試!');window.history.go(-1);</script>", "text/html");?
至此,大功搞成,各位園友,有更好辦法,歡迎交流。
?
轉(zhuǎn)載于:https://www.cnblogs.com/ushou/p/3345966.html
總結(jié)
以上是生活随笔為你收集整理的弹出框页面中使用jquery.validate验证控件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一步步创建 边栏 Gadget(一)
- 下一篇: Amazon DynamoDB 概览