/** * * DWSurvey 3.0 中关于问卷设计Javascript * * @desc: design survey * @author: keyuan(@keyuan, keyuan258@gmail.com) * @github: https://github.com/wkeyuan/DWSurvey * * Copyright 2012, 2017 调问问卷(DWSurvey,http://dwsurvey.net) * */ $(document).ready(function(){ var ctx=$("#ctx").val(); var sid = $.getUrlParam("sid"); var surveyId = $.getUrlParam("surveyId"); var tag = $.getUrlParam("tag"); var ruleCode = $.getUrlParam("ruleCode"); $("#sid").val(sid); $("#id").val(surveyId); $("#tag").val(tag); $("#ruleCode").val(ruleCode); if(tag!="" && (tag==="p" || tag==="s")){ $("#preview_head_top").show(); }else{ $("#preview_head_top").remove(); } $.answerPage("p",sid,function(){ querySurveyAll(function(){ sww(); wwwUpload(); if(!$("#preview_head_top")[0]){ checkAnswerSurvey(sid); } }); }); }); function sww() { //分页设置 nextPage_a prevPage_a $(".nextPage_a").click(function(){ if(validateForms()){ var thParent=$(this).parent(); var nextPageNo=thParent.find("input[name='nextPageNo']").val(); // $(".li_surveyQuItemBody").hide(); // $(".surveyQu_"+nextPageNo).fadeIn("slow"); //$(window).scrollTop(10); var curPageNo = parseInt(nextPageNo)-1; $(".surveyQu_"+curPageNo).hide(); var nextPageQus = $(".surveyQu_"+nextPageNo); $.each(nextPageQus,function(){ var quItemBody = $(this); var itemBodyClass = quItemBody.attr("class"); var quType = quItemBody.find(".quType").val(); if(quType==="PAGETAG" || quType==="submitSurveyBtn"){ quItemBody.show(); } if(itemBodyClass.indexOf("hidFor")<0){ quItemBody.show(); } }); var nextPageItems = $(".surveyQu_"+nextPageNo+":visible"); if(nextPageItems[0]&&nextPageItems.size()<=1){ $(nextPageItems[0]).find(".nextPage_a").click(); } $("html,body").animate({scrollTop:10},500); }; return false; }); $(".prevPage_a").click(function(){ var thParent=$(this).parent(); var prevPageNo=thParent.find("input[name='prevPageNo']").val(); //$(".li_surveyQuItemBody").hide(); //$(".surveyQu_"+prevPageNo).fadeIn("slow"); var curPageNo = parseInt(prevPageNo)+1; $(".surveyQu_"+curPageNo).hide(); var prevPageQus = $(".surveyQu_"+prevPageNo); $.each(prevPageQus,function(){ var quItemBody = $(this); var itemBodyClass = quItemBody.attr("class"); //alert(itemBodyClass.indexOf("hidFor")); var quType = quItemBody.find(".quType").val(); if(quType==="PAGETAG"){ quItemBody.show(); } if(itemBodyClass.indexOf("hidFor")<0){ quItemBody.show(); } }); $(window).scrollTop(10); return false; }); //var prevHost="http://file.diaowen.net"; var prevHost=$("#prevHost").val(); $(".submitSurvey").click(function(){ if(validateForms()){ var thTxt = $(this).text(); if($("#preview_head_top")[0]){ alert("预览模式不可提交!"); return false; } if(thTxt==="提 交"){ $(".submitSurvey").css({"background-position": "0 -320px"}); $(".submitSurvey").text("正在提交"); setTimeout(function(){ $(".submitSurvey").css({"background-position": "0 -200px"}); $(".submitSurvey").text("提 交"); },5000); $("#surveyForm").submit(); }else{ alert("5秒内禁止重复提交!"); } } return false; }); //评分题 $(".scoreNumTable tr td").click(function(){ //scoreNumInput var quScoreOptionTr=$(this).parents(".quScoreOptionTr"); var tdText=$(this).text(); quScoreOptionTr.find(".scoreNumTable tr td").css({"background":"white"}); quScoreOptionTr.find(".scoreNumText").html($(this).text()+" 分"); $(this).prevAll().css({"background":""}); $(this).css({"background":""}); quScoreOptionTr.find(".scoreNumInput").val(tdText); quScoreOptionTr.find(".scoreNumText").html(tdText+" 分"); runlogic($(this)); answerProgressbar($(this)); validateCheck($(this).parents(".li_surveyQuItemBody"),false); }); bindScoreNumTdHover(); function bindScoreNumTdHover(){ $(".scoreNumTable tr td").hover(function(){ var quScoreOptionTr = $(this).parents(".quScoreOptionTr"); var scoreNumInput=quScoreOptionTr.find(".scoreNumInput").val(); if(scoreNumInput==""){ $(this).prevAll().css({"background":""}); $(this).css({"background":""}); quScoreOptionTr.find(".scoreNumText").html($(this).text()+" 分"); } },function(){ var quScoreOptionTr = $(this).parents(".quScoreOptionTr"); var scoreNumInput=quScoreOptionTr.find(".scoreNumInput").val(); if(scoreNumInput==""){ $(this).prevAll().css({"background":"white"}); $(this).css({"background":"white"}); quScoreOptionTr.find(".scoreNumText").html("分"); } }); } //排序题 //quOrderByCoItem bindQuOrderBySorts(); function bindQuOrderBySorts() { var quOrderByCoItems=$(".quOrderByCoItem"); $.each(quOrderByCoItems,function(){ /* $(this).find( ".quOrderByLeftUl li" ).draggable({ connectToSortable: $(this).find(".quOrderByTable td"), helper: "clone", zIndex:2000, //revert :true, start: function(event, ui) { var quOrderByCoItem=$(this).parents(".quOrderByCoItem"); quOrderByCoItem.find( ".quOrderTabConnect" ).css({"background":"","border":"1px dotted red"}); }, drag: function(event, ui) { }, stop: function(event,ui){ var quOrderByCoItem=$(this).parents(".quOrderByCoItem"); quOrderByCoItem.find( ".quOrderTabConnect" ).css({"background":"","border":"1px solid #dbdbdb"}); } }); */ $(this).find( ".quOrderByLeftUl li" ).sortable({ zIndex:1000, scroll :false, opacity : 0.8, placeholderType:false, connectWith:$(this).find( ".quOrderByTable td" ), helper: function(event,ui){ return ""; }, over:function(event,ui){ }, start: function(event, ui) { }, drag: function(event, ui) { }, stop: function(event,ui){ $(".quOrderByTable td").css({"background":""}); //ui.item.html(""); answerProgressbar($(this)); validateCheck($(this).parents(".li_surveyQuItemBody"),false); } }); var sortObjTempHtml=null; $(this).find( ".quOrderByTable td" ).sortable({ //revert: true //dropOnEmpty:false, zIndex:1000, scroll :false, opacity : 0.9, placeholderType:true, placeholder:"qu-order-highlight", connectWith:$(this).find( ".quOrderByTable td" ), over:function(event,ui){ $(".quOrderByTable td").css({"background":""}); $(this).css({"background":"#FAEDC0"}); var quOrderItemLabel=$(this).find("label.quOrderItemLabel"); sortObjTempHtml=""; if(quOrderItemLabel[0]){ sortObjTempHtml=quOrderItemLabel.html(); } /*sortObjTempHtml=""; if(lastLabelHtml!=""){ sortObjTempHtml=""; } */ //console.debug($(ui.helper).css("zIndex")+$(ui.helper).css("position")); }, receive:function(event, ui){//当一个已连接的sortable对象接收到另一个sortable对象的元素后触发此事件。 //判断如果是从右边新移入的,但当前td中已经有了,就交换到右边去 var uiSenderClass=ui.sender.attr("class"); ui.sender.empty(); /* if(uiSenderClass.indexOf("quCoItemUlLi")<0){ ui.sender.append(sortObjTempHtml); } */ if(uiSenderClass.indexOf("quCoItemUlLi")<0){ if(sortObjTempHtml!=""){ ui.sender.append(""); } }else{ if(sortObjTempHtml!=""){ ui.sender.append(""); } } $(this).empty(); ui.item.clone().appendTo($(this)); var quCoOptionEdit=$(this).find(".quCoOptionEdit"); if(quCoOptionEdit[0]){ quCoOptionEdit.removeClass(); quCoOptionEdit.addClass("quOrderItemLabel"); } $(".quOrderByTable td").css({"background":""}); //更新排序ID quCoItem quOrderByTableTr //bindQuOrderBySorts(); var quColItem = $(".li_surveyQuItemBody .quCoItem"); $.each(quColItem,function(){ var quOrderyByTrs=$(this).find(".quOrderByTableTr"); $.each(quOrderyByTrs,function(i){ var quOrderItemHidInput=$(this).find(".quOrderItemHidInput"); quOrderItemHidInput.val(i+1); }); }); /*var quOrderyByTrs=$(".quCoItem .quOrderByTableTr"); $.each(quOrderyByTrs,function(i){ var quOrderItemHidInput=$(this).find(".quOrderItemHidInput"); quOrderItemHidInput.val(i+1); });*/ }, start: function(event, ui) { $(".quOrderByTable td").css({"background":""}); $(this).css({"background":"#FAEDC0"}); }, drag: function(event, ui) { $(".quOrderByTable td").css({"background":""}); $(this).css({"background":"#FAEDC0"}); }, stop: function(event,ui){ $(".quOrderByTable td").css({"background":""}); }, out: function(event,ui){ //$(".quOrderByTable td").css({"background":""}); }, activate: function( event, ui ) { //$(".quOrderByTable td").css({"background":""}); //$(this).css({"background":"#FAEDC0"}); } }); }); } /**初始化表单骓证配置**/ function validateForms(){ var result=true; var surveyQuItemBodys=$(".li_surveyQuItemBody"); var firstError=null; $.each(surveyQuItemBodys,function(){ var quItemBody=$(this); if(!validateCheck(quItemBody,true)){ //定位到这题 if(firstError==null){ firstError=quItemBody; } result=false; } }); if(firstError!=null){ $(window).scrollTop(firstError.offset().top); } // if($("#jcaptchaImgBody").is(":visible")){ var jcaptchaInput = $("input[name='jcaptchaInput']").val(); if(jcaptchaInput===""){ $("#jcaptchaImgBody .errorItem").show(); result = false; }else{ $("#jcaptchaImgBody .errorItem").hide(); } } return result; } function checkoutData(checkType, value) { var validateStatus = true; if(value.length<=0){ validateStatus = false; } if (checkType == "NO") { if(value.length<=0){ validateStatus = false; } }else if (checkType == "EMAIL") { var __email = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; if (!__email.test(value)) { validateStatus = false; } } else if (checkType == "UNSTRCN") { var __cn = /^[\u3220-\uFA29]+$/; if (__cn.test(value)) { validateStatus = false; } } else if (checkType == "STRCN") { var __cn = /^[\u3220-\uFA29]+$/; if (!__cn.test(value)) { validateStatus = false; } } else if (checkType == "NUM") { // "number[/[+|-][int|integer|float|double|money|{位数正则}.{位数正则}]]" // var __regex = /^\d+(\.\d+)?$/; var __regex = /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/; if (!__regex.test(value)) { validateStatus = false; } } else if (checkType == "DIGITS") { var __regex = /^\d+$/; if (!__regex.test(value)) { validateStatus = false; } } else if (checkType == "TELENUM") { var tel = /^\d{3,4}-{1}\d{7,9}-?\d{1,6}$/; var tel400800 = /^(400{1}-?[0-9]{3}-?[0-9]{4})|(800{1}-?[0-9]{3}-?[0-9]{4})$/ if (!(tel.test(value) || tel400800.test(value))) { validateStatus = false; } } else if (checkType == "PHONENUM") { var length = value.length; var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if (!(length == 11 && mobile.test(value))) { validateStatus = false; } } else if (checkType == "TELE_PHONE_NUM") { var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/; var tel = /^\d{3,4}-{1}\d{7,9}-?\d{1,6}$/; var tel400800 = /^(400{1}-?[0-9]{3}-?[0-9]{4})|(800{1}-?[0-9]{3}-?[0-9]{4})$/ if (!(tel400800.test(value) || tel.test(value) || mobile.test(value))) { validateStatus = false; } } else if (checkType == "DATE") { //日期的正则表达式 /*var reg1 = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;//2014-01-01 var regExp1 = new RegExp(reg1); var reg2 = /^(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/;//12:00:00 var regExp2 = new RegExp(reg2); var reg3 = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/;//2014-01-01 12:00:00 var regExp3 = new RegExp(reg3); if(!(regExp1.test(value) || regExp3.test(value))){ // alert("日期格式不正确,正确格式为:2014-01-01"); errorType = "DATE"; validateStatus = false; }*/ if (/Invalid|NaN/.test(new Date(value).toString())) { validateStatus = false; } } else if (checkType == "IDENTCODE") { var check = /^\d{15}|(\d{17}(\d|x|X))$/.test(value); if (!(check && (value.length == 15 || value.length == 18))) { validateStatus = false; } } else if (checkType == "ZIPCODE") { var tel = /^[0-9]{6}$/; if (!tel.test(value)) { validateStatus = false; } } else if (checkType == "URL"){ var strRegex = /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i; if (!strRegex.test(value)) { validateStatus = false; } } return validateStatus; } /******************************处理题目逻辑设置 **************************************/ //处理题目逻辑设置 /** 答题触发事件 **/ //初始化 处理默认逻辑跳转为显示,则先隐藏元素 var quLogics=$("#dwSurveyQuContent .quLogicItem"); $.each(quLogics,function(){ var loginItem=$(this); var cgQuItemId=loginItem.find(".cgQuItemId").val(); var skQuId=loginItem.find(".skQuId").val(); var logicId=loginItem.find(".logicId").val(); var logicType=loginItem.find(".logicType").val(); if(logicType==="2"){ //逻辑类型为“显示”2 则初始化为隐藏 var hidQuItemBody=$(".quId[value='"+skQuId+"']").parents(".li_surveyQuItemBody"); hidQuItemBody.hide(); hidQuItemBody.addClass("hidFor"+logicId); hidQuItemBody.find(".answerTag").attr("disabled",true); } }); /** 单选与多选条件触发 自定义单选多选效果 操作结束后得调用逻辑判断 **/ $(".dwQuOptionItemContent").click(function(){ var thObj=$(this); var quItemBody=thObj.parents(".li_surveyQuItemBody"); var quType=quItemBody.find(".quType").val(); var dwQuInputLabel=thObj.find(".dwQuInputLabel"); if("RADIO"===quType){ //单选题 quItemBody.find(".dwQuInputLabel").removeClass("checked"); quItemBody.find("input[type='radio']").prop("checked",false); dwQuInputLabel.addClass("checked"); thObj.find("input[type='radio']").prop("checked",true); runlogic(thObj.find("input[type='radio']")); }else if("CHECKBOX"===quType){ //多选题 //quItemBody.find(".dwQuInputLabel").removeClass("checked"); var quInputLabelClass=dwQuInputLabel.attr("class"); if(quInputLabelClass.indexOf("checked")>0){ dwQuInputLabel.removeClass("checked"); thObj.find("input[type='checkbox']").prop("checked",false); }else{ dwQuInputLabel.addClass("checked"); thObj.find("input[type='checkbox']").prop("checked",true); } var checkeds = quItemBody.find("input[type='checkbox']:checked"); var paramInt02 = quItemBody.find(".paramInt02").val(); if(paramInt02>0){ if(checkeds[0]&&checkeds.size()>paramInt02){ dwQuInputLabel.removeClass("checked"); thObj.find("input[type='checkbox']").prop("checked",false); alert("最多只支持选择"+paramInt02+"项内容!"); return false; } } runlogic(thObj.find("input[type='checkbox']")); } answerProgressbar(thObj); validateCheck(quItemBody,false); }); $(".dwQuOptionItemNote").click(function(){ return false; }); //填空题 $(".fillblankInput,.dwMFillblankInput").blur(function(){ //$(this).css("borderColor","#D6D6FF"); var thVal=$(this).val(); runlogic($(this)); answerProgressbar($(this)); if(!$(this).hasClass("Wdate") || thVal!=""){ validateCheck($(this).parents(".li_surveyQuItemBody"),true); } }); $(".radioSelect").change(function(){ var thVal = $(this).val(); var thName = $(this).attr("name"); var quCoItemUlLi = $(this).parents("li.quCoItemUlLi"); var quItemInputCase= quCoItemUlLi.find(".quItemInputCase[itemid='"+thVal+"']"); var isNote = quItemInputCase.find(".isNote").val(); if(isNote=="1"){ quCoItemUlLi.find(".dwQuOptionItemNote").hide(); var dwQuOptionItemNote = quCoItemUlLi.find(".dwQuOptionItemNote[name='text_"+thName+"_"+thVal+"']"); dwQuOptionItemNote.show(); }else{ quCoItemUlLi.find(".dwQuOptionItemNote").hide(); } var thObj = $(this); var quItemBody = $(this).parents(".li_surveyQuItemBody"); runlogic(thObj); answerProgressbar(thObj); validateCheck(quItemBody,false); return false; }); //只要触发事件 function runlogic(thFormElementObj){ //thFormElementObj 当前关联的form表单元素 var quItemBody=thFormElementObj.parents(".li_surveyQuItemBody"); var quLogicItems=quItemBody.find(".quLogicItem"); if(quLogicItems[0]){ var quInputCase=quItemBody.find(".quInputCase"); var quId=quInputCase.find(".quId").val(); var quType=quInputCase.find(".quType").val(); //$("input[name='qu_"+quType+"_"+quId+"']").change(function(){}); if(quType==="RADIO" || quType==="CHECKBOX" ){ //判断是否选中 var quLgoicItem=null; //var thVal=thFormElementObj.val(); var quOptionItems=null; quOptionItems=quItemBody.find(".dwQuOptionItemContent"); if(quType==="RADIO"){ if(quItemBody.find("select")[0]){ quOptionItems=quItemBody.find("select option"); } } $.each(quLogicItems,function(){ var loginItem=$(this); var cgQuItemId=loginItem.find(".cgQuItemId").val(); var skQuId=loginItem.find(".skQuId").val(); var logicId=loginItem.find(".logicId").val(); var logicType=loginItem.find(".logicType").val(); var isbreak=false; $.each(quOptionItems,function(){ var quCoItem=$(this); var quInput=null; var logicStatus=false; var curQuItemId=null; if(quType==="RADIO"){ if(quItemBody.find("select")[0]){ curQuItemId=$(this).val(); logicStatus=quItemBody.find("select").val()==curQuItemId; }else{ quInput=quCoItem.find("input[type='radio']"); logicStatus=quInput.prop("checked"); curQuItemId=quInput.val(); } }else if(quType==="CHECKBOX"){ quInput=quCoItem.find("input[type='checkbox']"); logicStatus=quInput.prop("checked"); curQuItemId=quInput.val(); } if(curQuItemId===cgQuItemId){ if(logicType==="1"){ if(logicStatus){ skQuestion(quItemBody.next(),skQuId,logicId,function(){ //重新编题号 }); if(skQuId==="1" || skQuId==="2" ){ isbreak=true; } }else{ /* //$(".hidFor"+loginId).slideDown("slow"); $(".hidFor"+loginId).show(); //$(".hidFor"+loginId).fadeIn(); $(".hidFor"+loginId).removeClass("hidFor"+loginId); $(".hidFor"+loginId).find(".answerTag").attr("disabled",false); */ var hidQuItemBodys=$(".hidFor"+logicId); $(".hidFor"+logicId).removeClass("hidFor"+logicId); var curPageNo = quItemBody.find(".pageNo").val(); $.each(hidQuItemBodys,function(){ var thQuItemBodyClass=$(this).attr("class"); var thPageNo = $(this).find(".pageNo").val(); if(thQuItemBodyClass.indexOf("hidFor")<0 && thPageNo==curPageNo){ $(this).show(); //$(".hidFor"+loginId).fadeIn(); $(this).find(".answerTag").attr("disabled",false); } }); } }else{ if(logicStatus){ var hidQuItemBodys = $(".hidFor" + logicId); $(".hidFor" + logicId).removeClass("hidFor" + logicId); var curPageNo = quItemBody.find(".pageNo").val(); $.each(hidQuItemBodys, function () { var hidQuItemBody = $(this); var hidQuId = $(this).find(".quId").val(); if (quType == "CHECKBOX" || quType == "RADIO") { $.each(quLogicItems, function () { var thLoginItem = $(this); var thSkQuId = thLoginItem.find(".skQuId").val(); var thLogicType = thLoginItem.find(".logicType").val(); var thLogicId = thLoginItem.find(".logicId").val(); var logicHidForClass = "hidFor" + thLogicId; // console.debug(logicHidForClass); if (thLogicType === "2" && thSkQuId === hidQuId) { hidQuItemBody.removeClass(logicHidForClass); } }); } var thQuItemBodyClass = $(this).attr("class"); var thPageNo = $(this).find(".pageNo").val(); if (thQuItemBodyClass.indexOf("hidFor") < 0 && thPageNo == curPageNo) { $(this).show(); $(this).find(".answerTag").attr("disabled", false); } }); }else{ /* 隐藏题 */ var isHide = true; if(quType=="CHECKBOX" || quType=="RADIO"){ //先判断有没有逻辑已经触发了 $.each(quLogicItems,function() { var thLoginItem = $(this); var thCgQuItemId=thLoginItem.find(".cgQuItemId").val(); var thSkQuId = thLoginItem.find(".skQuId").val(); var thLogicType = thLoginItem.find(".logicType").val(); var thLogicId=thLoginItem.find(".logicId").val(); if( thLogicType==="2" && thSkQuId === skQuId ){ var thCgQuOptionItem=quItemBody.find(".dwQuOptionItemContent input[type='checkbox'][value='"+thCgQuItemId+"'],.dwQuOptionItemContent input[type='radio'][value='"+thCgQuItemId+"']"); var thCgQuOptionStatus=thCgQuOptionItem.prop("checked"); if(thCgQuOptionStatus){ isHide = false; return false; } } }); } if(isHide){ var hidQuItemBody=$(".quId[value='"+skQuId+"']").parents(".li_surveyQuItemBody"); hidQuItemBody.hide(); hidQuItemBody.addClass("hidFor"+logicId); hidQuItemBody.find(".answerTag").attr("disabled",true); } } } return false; } }); if(isbreak){ return false; } }); }else if(quType==="FILLBLANK"){ //遍历每个逻辑设置 var quOptionItems=quItemBody.find(".dwQuOptionItemContent"); var thVal=thFormElementObj.val(); $.each(quLogicItems,function(){ var loginItem=$(this); var cgQuItemId=loginItem.find(".cgQuItemId").val(); var skQuId=loginItem.find(".skQuId").val(); var logicId=loginItem.find(".logicId").val(); var logicType=loginItem.find(".logicType").val(); if(logicType==="1"){ //跳转 if(thVal!=""){ //逻辑选项被选中状态,激活状态 skQuestion(quItemBody.next(),skQuId,logicId,function(){ //重新编题号 }); if(skQuId==="1" || skQuId==="2" ){ isbreak=true; } }else{ //逻辑选项未被选中状态,未激活 //$(".hidFor"+loginId).slideDown("slow"); var hidQuItemBodys=$(".hidFor"+logicId); $(".hidFor"+logicId).removeClass("hidFor"+logicId); var curPageNo = quItemBody.find(".pageNo").val(); $.each(hidQuItemBodys,function(){ var thQuItemBodyClass=$(this).attr("class"); var thPageNo = $(this).find(".pageNo").val(); if(thQuItemBodyClass.indexOf("hidFor")<0 && thPageNo==curPageNo){ $(this).show(); //$(".hidFor"+loginId).fadeIn(); //回答标记与逻辑设置没有关系 $(this).find(".answerTag").attr("disabled",false); } }); } }else{ //显示 //逻辑类型为“显示” quType=1 if(thVal!=""){ //逻辑选项被选中状态,激活状态 显示题 var hidQuItemBodys=$(".hidFor"+logicId); $(".hidFor"+logicId).removeClass("hidFor"+logicId); var curPageNo = quItemBody.find(".pageNo").val(); $.each(hidQuItemBodys,function(){ var thQuItemBodyClass=$(this).attr("class"); var thPageNo = $(this).find(".pageNo").val(); if(thQuItemBodyClass.indexOf("hidFor")<0 && thPageNo==curPageNo){ $(this).show(); $(this).find(".answerTag").attr("disabled",false); } }); }else{ /* 隐藏题 */ var hidQuItemBody=$(".quId[value='"+skQuId+"']").parents(".li_surveyQuItemBody"); hidQuItemBody.hide(); hidQuItemBody.addClass("hidFor"+logicId); hidQuItemBody.find(".answerTag").attr("disabled",true); } } }); } resetQuNumLogic(); } } function skQuestion(nextQuItemBody,skQuId,logicId,callback){ if(nextQuItemBody[0]){ //submitSurveyBtn var nextQuType=nextQuItemBody.find(".quType").val(); var nextQuId=nextQuItemBody.find(".quId").val(); var nextAnswerTag=nextQuItemBody.find(".answerTag"); //如果是新一页则显示当前页所有题 if(nextQuType=="PAGETAG"){ if(validateForms()) { nextQuItemBody.find(".nextPage_a").click(); } } //var quType=quItemBody.find(".quType").val(); //var quId=quItemBody.find(".quId").val(); //判断跳转类型 if(skQuId==null){ //对于逻辑选项未被选中的情况 }else if(nextQuType=="PAGETAG"){ skQuestion(nextQuItemBody.next(),skQuId,logicId,function(){ }); }else if(nextQuType!="submitSurveyBtn" && nextQuType!="PAGETAG" && (skQuId==="1" || skQuId==="2" || nextQuId!=skQuId) ){ //对于逻辑项是被选定的情况下 nextAnswerTag.attr("disabled",true); //nextQuItemBody.slideUp("slow"); nextQuItemBody.hide(); //nextQuItemBody.fadeOut(); nextQuItemBody.addClass("hidFor"+logicId); skQuestion(nextQuItemBody.next(),skQuId,logicId,function(){ }); } /* else if(nextQuItemBody.is(":hidden")){ skQuestion(nextQuItemBody.next(),skQuId,logicId,function(){ }); }else if(nextQuType!="submitSurveyBtn" && nextQuType!="PAGETAG" && (skQuId==="1" || skQuId==="2" || nextQuId!=skQuId) ){ //对于逻辑项是被选定的情况下 nextAnswerTag.attr("disabled",true); //nextQuItemBody.slideUp("slow"); nextQuItemBody.hide(); //nextQuItemBody.fadeOut(); nextQuItemBody.addClass("hidFor"+logicId); skQuestion(nextQuItemBody.next(),skQuId,logicId,function(){ }); }*/ }else{ callback(); } } // resetQuNum(); function resetQuNum(){ var quCoNums=$(".quCoNum"); $.each(quCoNums,function(i,item){ $(this).html((i+1)+"、"); }); } resetQuNumLogic(); function resetQuNumLogic(){ var surveyQuItemBodys = $(".li_surveyQuItemBody"); var quIndex = 1; $.each(surveyQuItemBodys,function(i,item){ var thClass = $(this).attr("class"); var quCoNum = $(this).find(".quCoNum"); // console.debug(thClass+":"+thClass.indexOf("hidFor")); if(thClass.indexOf("hidFor")<0 && quCoNum[0]){ quCoNum.html((quIndex++)+"、"); } }); } /* $("input").unbind("click"); $("input").click(function(){ var quItemBody=$(this).parents(".li_surveyQuItemBody "); var quType=quItemBody.find(".quType").val(); if(quType=="RADIO"){ quItemBody.find(".answerTag").val(1); } var totalQuSize=$(".answerTag:enabled").size(); var answerTag1=$(".answerTag[value='1']:enabled"); var answerQuSize=0; if(answerTag1[0]){ answerQuSize=answerTag1.size(); } var newValue = parseInt(answerQuSize/totalQuSize*100); $("#resultProgressRoot .progress-label").text(newValue+"%"); $("#resultProgress").progressbar("option", "value", newValue); }); */ $("#mobileTdId").click(function(){ $(this).next().slideToggle(); return false; }); bindDateEvent(); } function validateCheck(quItemBody,isSubForm){ if(quItemBody.is(":visible")){ var quId=quItemBody.find(".quId").val(); var quType=quItemBody.find(".quType").val(); var isRequired=quItemBody.find(".isRequired").val(); var validateStatus=false; var checkType = ""; if(isRequired==="0"){ validateStatus = true; return true; } if(quType==="RADIO"){ var hv = quItemBody.find(".hv").val(); if(hv=="4" && quType ==="RADIO"){ var radioSelectVal = quItemBody.find(".radioSelect").val(); if(radioSelectVal!="" && radioSelectVal!="0"){ var radioSelect = quItemBody.find(".radioSelect"); var radioSelectVal = radioSelect.val(); var radioSelectName = radioSelect.attr("name"); var quCoItemUlLi = radioSelect.parents("li.quCoItemUlLi"); var quItemInputCase= quCoItemUlLi.find(".quItemInputCase[itemid='"+radioSelectVal+"']"); var isNote = quItemInputCase.find(".isNote").val(); if(isNote=="1"){ var curText = quCoItemUlLi.find(".dwQuOptionItemNote[name='text_"+radioSelectName+"_"+radioSelectVal+"']"); var curTextValue = curText.val(); var checkType = quItemInputCase.find(".checkType").val(); var isRequiredFill = quItemInputCase.find(".isRequiredFill").val(); if(isRequiredFill=="1" || curTextValue!="") { validateStatus = checkoutData(checkType, curText); }else{ validateStatus = true; } }else{ validateStatus = true; } } }else{ validateStatus=quItemBody.find("input[type='radio']:checked")[0]; if(validateStatus){ var curRadio = quItemBody.find("input[type='radio']:checked"); var curText = curRadio.parent().find("input[type='text']:visible"); if(curText[0]){ var curTextValue = curText.val(); checkType = curRadio.parent().find(".checkType").val(); var isRequiredFill = curRadio.parent().find(".isRequiredFill").val(); if(isRequiredFill!="1"){ validateStatus = checkoutData(checkType, curTextValue); } } } } }else if(quType==="CHECKBOX"){ validateStatus=quItemBody.find("input[type='checkbox']:checked")[0]; var paramInt01 = quItemBody.find(".paramInt01").val(); if(paramInt01>0){ var checkeds = quItemBody.find("input[type='checkbox']:checked"); if(checkeds[0]&&checkeds.size()"); validateStatus = false; }else{ quItemBody.find(".quCoItem .errorItem").remove(); } } if(validateStatus){ // isNote checkType isRequiredFill var curCheckboxs = quItemBody.find("input[type='checkbox']:checked"); $.each(curCheckboxs,function(){ var curText = $(this).parent().find("input[type='text']:visible"); if(curText[0]){ var curTextValue = curText.val(); checkType = $(this).parent().find(".checkType").val(); var isRequiredFill = $(this).parent().find(".isRequiredFill").val(); if(isRequiredFill!="1"){ validateStatus = checkoutData(checkType, curTextValue); } } if(!validateStatus){ return false; } }); } }else if(quType==="FILLBLANK"){ var value = quItemBody.find(".fillblankInput").val(); validateStatus = value!=""; checkType = quItemBody.find(".checkType").val(); if(validateStatus){ validateStatus = checkoutData(checkType, value); } }else if(quType==="ORDERQU"){ //quItemBody.find(".quOrderByLeftUl label"); validateStatus=!quItemBody.find(".quOrderByLeftUl label")[0]; }else if(quType==="SCORE"){ validateStatus=true; var quScoreOptionTrs=quItemBody.find(".quScoreOptionTr"); $.each(quScoreOptionTrs,function(){ var scoreNumInput=$(this).find(".scoreNumInput"); if(scoreNumInput.val()===""){ validateStatus=false; return false; } }); }else if(quType==="MULTIFILLBLANK"){ validateStatus=true; var quScoreOptionTrs=quItemBody.find(".mFillblankTableTr"); var paramInt01 = 0; if(quItemBody.find(".paramInt01")[0]){ paramInt01 = quItemBody.find(".paramInt01").val(); } var anNum = 0; $.each(quScoreOptionTrs,function() { var scoreNumInput = $(this).find(".dwMFillblankInput"); if (scoreNumInput.val() != "") { anNum++; } }) if(validateStatus){ if(paramInt01!=0){ if(anNum"; if(checkType=="EMAIL"){ errorHtml="
"; }else if(checkType=="UNSTRCN"){ errorHtml="
"; }else if(checkType=="STRCN"){ errorHtml="
"; }else if(checkType=="NUM"){ errorHtml="
"; }else if(checkType == "DIGITS"){ errorHtml="
"; }else if(checkType == "TELENUM"){ errorHtml="
"; }else if(checkType == "PHONENUM"){ errorHtml="
"; }else if(checkType == "TELE_PHONE_NUM"){ errorHtml="
"; }else if(checkType == "DATE"){ //2014-01-01 12:00:00 errorHtml="
"; }else if(checkType == "IDENTCODE"){ errorHtml="
"; }else if(checkType == "ZIPCODE"){ errorHtml="
"; }else if(checkType == "URL"){ errorHtml="
"; } quItemBody.find(".quCoItem").append(errorHtml); } } return validateStatus; } /**********************处理答题进度条************************/ //$("#resultProgress").progressbar({value: bfbFloat}); function answerProgressbar(thObj){ var quItemBody=thObj.parents(".li_surveyQuItemBody "); var quType=quItemBody.find(".quType").val(); if(quType==="RADIO"){ //quItemBody.find(".answerTag").val(1); var checks=quItemBody.find("input[type='radio']:checked"); if(checks[0]){ quItemBody.find(".answerTag").val(1); }else{ quItemBody.find(".answerTag").val(0); } }else if(quType=="CHECKBOX"){ var checks=quItemBody.find("input[type='checkbox']:checked"); if(checks[0]){ quItemBody.find(".answerTag").val(1); }else{ quItemBody.find(".answerTag").val(0); } }else if(quType==="FILLBLANK"){ var thVal=thObj.val(); if(thVal!=""){ quItemBody.find(".answerTag").val(1); }else{ quItemBody.find(".answerTag").val(0); } }else if(quType==="ORDERQU"){ //quOrderByLeftUl var orderByLabels=quItemBody.find(".quOrderByLeftUl label"); if(!orderByLabels[0]){ quItemBody.find(".answerTag").val(1); }else{ quItemBody.find(".answerTag").val(0); } }else if( quType==="SCORE" ){ // var quScoreOptionTr=thObj.parents(".quScoreOptionTr"); var scoreNumInput=quScoreOptionTr.find(".scoreNumInput"); if(scoreNumInput.val()!=""){ quScoreOptionTr.find(".answerTag").val(1); }else{ quScoreOptionTr.find(".answerTag").val(0); } }else if(quType==="MULTIFILLBLANK"){ var mFillblankTableTr=thObj.parents(".mFillblankTableTr"); if(thObj.val()!=""){ mFillblankTableTr.find(".answerTag").val(1); }else{ mFillblankTableTr.find(".answerTag").val(0); } } var totalQuSize=$("#dwSurveyQuContent .answerTag:enabled").size(); var answerTag1=$("#dwSurveyQuContent .answerTag[value='1']:enabled"); var answerQuSize=0; if(answerTag1[0]){ answerQuSize=answerTag1.size(); } var newValue = parseInt(answerQuSize/totalQuSize*100); $("#resultProgressRoot .progress-label").text("完成度:"+newValue+"%"); $("#resultProgress").progressbar("option", "value", newValue); }