//站点目录,说明没有虚拟目录时为"",有时为"/虚拟目录名称" if (!window.whir) window.whir = {}; var _siteapppath = ""; var editdata = []; var loadsuccess; // 站点相关. whir.site = { // 获取应用程序路径. getapppath: function () { if (_siteapppath == "") { _siteapppath = $("script[websiteurl]").attr("websiteurl"); } return _siteapppath; } }; // 表单验证器. whir.formvalidator = { erroritem: [], errormessage: [], validate: function (obj, mode, formid) { var objform; if (document.all) // ie下获取表单对象 objform = event.srcelement.form || theform || event.srcelement || document.aspnetform; else objform = document.aspnetform; var formelement = document.getelementbyid(formid); var objspans = formelement.getelementsbytagname("span"); var count = objspans.length; this.errormessage.length = 1; this.erroritem.length = 1; this.erroritem[0] = objspans; // 传入单一验证对象时, 只验证传入的对象. if (obj) count = 1; for (var i = 0; i < count; i++) { var objspan = obj; if (!objspan) { objspan = objspans[i]; } with (objspan) { //获取要验证的控件id、name var validatorfor = getattribute("validatorfor"); if (validatorfor == null || validatorfor == "") continue; this.clearstate(objspan); //var value = $("#" + validatorfor).val(); var value = $("input[name^='" + validatorfor + "']").val(); if (value == null) {//处理textarea和select if ($("[name^='" + validatorfor + "']").is("select")) { value = $("#" + validatorfor + " :selected").val(); } else { var textareaid = "#" + validatorfor; value = $(textareaid).val(); } } //验证必填 var required = getattribute("required"); if (value == null) { continue; } value = $.trim(value); //判断是否为单选按钮组 if ($("input[name^='" + validatorfor + "']").attr("type") == 'radio') { value = $("input[groupname='" + validatorfor + "']:checked").val(); } //判断是否为多选按钮 else if ($("input[name='" + validatorfor + "']").attr("type") == 'checkbox') { value = $("input[name='" + validatorfor + "']:checked").val(); } if (required != null) { if (required.tolowercase() == "true") { if (value == undefined || value.length < 1) { this.adderror(validatorfor, getattribute("requiredmsg") == null ? "必填" : getattribute("requiredmsg")); continue; } } } //获取正则表达式 var regexppast = true; var thisregexp = getattribute("regexp"); if (thisregexp != null && thisregexp != "") { var re = new regexp(thisregexp); if (value != "") { if (re.test(value))//验证 { // alert("验证通过"); } else { regexppast = false; var errmsg = getattribute("errmsg"); if (errmsg == null || errmsg == "") { errmsg = "验证失败"; } this.adderror(validatorfor, errmsg); } } } //ajax验证值是否唯一 if (regexppast) { var onlyobj = $("input[name^='" + validatorfor + "']"); if (onlyobj != null) { var only = onlyobj.attr("only"); if (only == "true" || only == "true") { ajaxpast = onlyobj.attr("ajaxpast"); if (ajaxpast == 0) { var onlymsg = getattribute("onlymsg"); if (onlymsg == null || onlymsg == "") { onlymsg = "值不唯一"; } else { this.adderror(validatorfor, onlymsg); } } } } } } } if (this.errormessage.length > 1) { mode = mode || 1; if (mode == 1) { var message = this.errormessage.join("\r\n"); alert(message); } return false; } return true; }, clearstate: function (elem) { with (elem) { if (style.color == "red") style.color = ""; var lastnode = parentnode.childnodes[parentnode.childnodes.length - 1]; if (lastnode.id == "__errormessagepanel") parentnode.removechild(lastnode); } }, adderror: function (obj, msg) { var item = $("#" + obj); if (item.length == 0) item = $("input[name=" + obj + "]"); this.erroritem.push(item[0]); this.errormessage[this.errormessage.length] = this.errormessage.length + ". " + msg; } } //表单提交操作 whir.form = { /* * 表单提交 * * @formid integer 表单名称id * @columnid integer 表单栏目id * @type integer 表单类型 * @itemid integer 记录id * */ submit: function (formid, columnid, type, itemid) { if (!whir.formvalidator.validate(undefined, 1, formid)) { //验证不通过,不作提交 return false; } var form = $('#' + formid); //formsubmit //var form = $("form[res='whirform']").eq(0); var url = whir.site.getapppath() + "label/ajax/formsubmit.aspx?formid=" + formid + "&columnid=" + columnid + "&type=" + type + "&submitid=" + itemid; //设置编辑框的值 whir.form.setedit(); var options = { beforesubmit: function (formdata, jqform, options) { //设置提交按钮不可用 $('.btn_submit').attr("disabled", true); return true; }, // pre-submit callback success: function (responsetext, statustext) { var jsonresult = eval("(" + responsetext + ")"); var _type = jsonresult.type; //{type:'1',msg:'提交成功',returnurl:'false'} if (_type == "1") { if (jsonresult.msg == null || jsonresult.msg == "") { alert('提交成功!'); } else { alert(jsonresult.msg); if (jsonresult.returnurl == 'true')//刷新当前页 { document.location.href = document.location.href; } else if (jsonresult.returnurl == "false")//不刷新 { } else//跳转页面 { location.href = jsonresult.returnurl; } } } else if (_type == "0") { if (jsonresult.msg == null || jsonresult.msg == "") { alert('提交失败!'); } else { alert(jsonresult.msg); } } $('#submit_' + formid).removeattr("disabled"); $('.imgcode').click(); //更好验证码 $(".textcode").focus(); //清空验证码输入框 $('.btn_submit').attr("disabled", false); }, // post-submit callback url: url, type: 'post' }; // bind form using 'ajaxform' form.ajaxsubmit(options); }, reset: function (formid) { var form = $('#' + formid); //var form = $("form[res='whirform']").eq(0); form.resetform(); whir.form.resetedit(); //清空编辑器 try { form.find("textarea").each(function () { var textareaid = $(this).attr("id"); if (textareaid != null && textareaid.length > 0) { var obj = eval("editor" + textareaid); if (obj != null) { obj.html(""); } } }); } catch (e) { } }, setedit: function () { $("textarea[edittype='ckeditor']").each(function () { var obj = "ckeditor.instances." + $(this).attr('id') + ".getdata()"; var html = eval(obj); $(this).val(html); }); }, resetedit: function () { $("textarea[edittype='ckeditor']").each(function () { var obj = "ckeditor.instances." + $(this).attr('id') + ".setdata(\"\")"; eval(obj); }); } } //唯一性是否验证通过 function validaonly() { var past = true; $("[only='true']").each(function () { var ajaxpast = $(this).attr("ajaxpast"); if (ajaxpast == 0) { past = false; } }); return past; } $(function () { _siteapppath = $("script[websiteurl]").attr("websiteurl"); //ajax获取选项字段内容 if (loadsuccess == null) { loadoptions(); } //webform置标为关联父栏目置标 $("input[res='link']").each(function () { var paramname = $(this).attr("paramname"); var bridgeid = $.query.get(paramname); $(this).val(bridgeid); }); //验证是否唯一 $("[only='true']").blur(function () { var onlyobj = $(this); var onlyvalue = $.trim($(this).val()); var fieldid = $.trim($(this).attr("id")); var formid = $.trim($(this).attr("formid")); if (onlyvalue == "" || fieldid == "" || formid == "") { return; } $.get(_siteapppath + "label/ajax/only.aspx?formid=" + formid + "&fieldid=" + fieldid + "&onlyvalue=" + onlyvalue + "&date=" + new date(), function (data) { if (data == 1) {//值不唯一 onlyobj.css("color", "#f00"); onlyobj.attr("ajaxpast", 0); } else { onlyobj.css("color", ""); onlyobj.attr("ajaxpast", 1); } }); }); }); //加载选项字段 function loadoptions() { $("span[res='option']").each(function () { var formid = $(this).attr("formid"); var fieldid = $(this).next("span[validatorfor]").attr("validatorfor"); var firstoption = $(this).attr("firstoption"); var isshowfirstoption = true; if (firstoption == null) { isshowfirstoption = false; } else { firstoption = escape(firstoption); } var obj = this; $.get(_siteapppath + "label/ajax/getoptions.aspx?formid=" + formid + "&isshowfirstoption=" + isshowfirstoption + "&firstoption=" + firstoption + "&date=" + new date(), function (data) { var item = eval("[" + data + "]")[0]; $(obj).after(item.value); $(obj).remove(); for (var i = 0; i < editdata.length; i++) { if (editdata[i].key == fieldid) { switch (item.key) { case "1": //下拉列表 $("#" + fieldid).find("option[value='" + editdata[i].value + "']").attr("selected", true); break; case "2": //单选按钮 $("[name='" + fieldid + "'][value='" + editdata[i].value + "']").attr("checked", true); break; case "3": //多选 var values = editdata[i].value.split(','); for (var cc = 0; cc < values.length; cc++) { $("[name='" + fieldid + "'][value='" + values[cc] + "']").attr("checked", true); } break; default: break; } break; } } }); }); } //设置地区选项 function setarea() { $("input:hidden[res='area']").each(function () { var fieldid = $(this).attr("name"); var regionid = $(this).val(); var obj = $(this); if (regionid != 0) { //选择地区 $.ajax({ url: _siteapppath + 'label/member/getareaparentpath.aspx?id=' + $(this).val(), type: 'get', success: function (data) { var items = data.split(','); if (items.length < 3) { return; } if (items.length == 3) { //省 $("#" + fieldid + "_seachprov option[value='" + regionid + "']").attr("selected", true); $("#" + fieldid + "_seachprov").trigger("change"); } else if (items.length == 4) {//市 $("#" + fieldid + "_seachprov option[value='" + items[2] + "']").attr("selected", true); $("#" + fieldid + "_seachprov").trigger("change"); $("#" + fieldid + "_seachcity option[value='" + regionid + "']").attr("selected", true); $("#" + fieldid + "_seachcity").trigger("change"); } else if (items.length == 5) { //区 $("#" + fieldid + "_seachprov option[value='" + items[2] + "']").attr("selected", true); $("#" + fieldid + "_seachprov").trigger("change"); $("#" + fieldid + "_seachcity option[value='" + items[3] + "']").attr("selected", true); $("#" + fieldid + "_seachcity").trigger("change"); $("#" + fieldid + "_seachdistrict option[value='" + regionid + "']").attr("selected", true); } } }); } }); }