common.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. $(document).ready(function(){
  2. $(".refreshJcaptchaImg").click(function(){
  3. var ctx=$("input[name='ctx']").val();
  4. $("#jcaptchaImg").attr("src",ctx+"/jcaptcha.action");
  5. return false;
  6. });
  7. });
  8. (function($){
  9. $.getUrlParam = function(name){
  10. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  11. var r = window.location.search.substr(1).match(reg);
  12. if (r!=null) return unescape(r[2]); return null;
  13. }
  14. $.getBrowser = function() {
  15. var ua = navigator.userAgent.toLowerCase();
  16. var btypeInfo = (ua.match( /firefox|chrome|safari|opera/g ) || "other")[ 0 ];
  17. if( (ua.match( /msie|trident/g ) || [] )[ 0 ] ) {
  18. btypeInfo = "msie";
  19. }
  20. var pc = "";
  21. var prefix = "";
  22. var plat = "";
  23. // 如果没有触摸事件 判定为PC
  24. var isTocuh = ("ontouchstart" in window) || (ua.indexOf( "touch" ) !== -1) || (ua.indexOf( "mobile" ) !== -1);
  25. if( isTocuh ) {
  26. if( ua.indexOf( "ipad" ) !== -1 )
  27. {
  28. pc = "pad";
  29. } else if( ua.indexOf( "mobile" ) !== -1 )
  30. {
  31. pc = "mobile";
  32. } else if( ua.indexOf( "android" ) !== -1 )
  33. {
  34. pc = "androidPad";
  35. } else
  36. {
  37. pc = "pc";
  38. }
  39. } else {
  40. pc = "pc";
  41. }
  42. switch( btypeInfo ) {
  43. case "chrome":
  44. case "safari":
  45. case "mobile":
  46. prefix = "webkit";
  47. break;
  48. case "msie":
  49. prefix = "ms";
  50. break;
  51. case "firefox":
  52. prefix = "Moz";
  53. break;
  54. case "opera":
  55. prefix = "O";
  56. break;
  57. default:
  58. prefix = "webkit";
  59. break
  60. }
  61. plat = (ua.indexOf( "android" ) > 0) ? "android" : navigator.platform.toLowerCase();
  62. return {
  63. version: (ua.match( /[\s\S]+(?:rv|it|ra|ie)[/: ]([\d.]+)/ ) || [])[ 1 ],
  64. plat: plat,
  65. type: btypeInfo,
  66. pc: pc,
  67. prefix: prefix,
  68. isMobile: pc !== "pc"
  69. };
  70. };
  71. $.answerPage = function(pageName,sid,callback) {
  72. var browser = $.getBrowser();
  73. var ruleCode = $("#ruleCode").val();
  74. var urlParams = "";
  75. if(ruleCode!="") {
  76. urlParams="&ruleCode="+ruleCode;
  77. }
  78. if(browser.isMobile && pageName==="p"){
  79. window.location.href="/dw/static/diaowen/answer-m.html?sid="+sid+urlParams;
  80. }
  81. if(!browser.isMobile && pageName==="m" ){
  82. window.location.href="/dw/static/diaowen/answer-p.html?sid="+sid+urlParams;
  83. }
  84. if(callback!=null){
  85. callback();
  86. }
  87. }
  88. $.notify = function(msg,delayHid) {
  89. $(".notification").remove();
  90. if(delayHid==null){
  91. delayHid=5000;
  92. }
  93. $( "<div>" )
  94. .appendTo( document.body )
  95. .text( msg )
  96. .addClass( "notification ui-state-default ui-corner-bottom" )
  97. .position({
  98. my: "center top",
  99. at: "center top",
  100. of: window
  101. })
  102. .show({
  103. effect: "blind"
  104. })
  105. .delay( delayHid )
  106. .hide({
  107. effect: "blind",
  108. duration: "slow"
  109. }, function() {
  110. $( this ).remove();
  111. });
  112. }
  113. })(jQuery);
  114. function lgcommon(thFormElementObj) {
  115. var quItemBody=thFormElementObj.parents(".li_surveyQuItemBody");
  116. var quLogicItems=quItemBody.find(".quLogicItem");
  117. if(quLogicItems[0]){
  118. var quInputCase=quItemBody.find(".quInputCase");
  119. var quId=quInputCase.find(".quId").val();
  120. var quType=quInputCase.find(".quType").val();
  121. if(quType==="RADIO" || quType==="CHECKBOX" || quType==="SCORE" || quType==="MULTIFILLBLANK" || quType==="CHENRADIO" || quType==="CHENCHECKBOX" || quType==="CHENSCORE" || quType==="CHENFBK" ){
  122. //遍历每个逻辑设置
  123. var quOptionItems=null;
  124. if(quType==="RADIO" || quType==="CHECKBOX"){
  125. quOptionItems=quItemBody.find(".dwQuOptionItemContent");
  126. }else if(quType==="SCORE"){
  127. quOptionItems=quItemBody.find(".quScoreOptionTr");
  128. }else if(quType==="MULTIFILLBLANK"){
  129. quOptionItems=quItemBody.find(".mFillblankTableTr");
  130. }
  131. $.each(quLogicItems,function(){
  132. var loginItem=$(this);
  133. var cgQuItemId=loginItem.find(".cgQuItemId").val();
  134. var skQuId=loginItem.find(".skQuId").val();
  135. var logicId=loginItem.find(".logicId").val();
  136. var logicType=loginItem.find(".logicType").val();
  137. var geLe=null;
  138. var scoreNum=null;
  139. if(quType==="SCORE"){
  140. geLe=loginItem.find(".geLe").val();
  141. scoreNum=loginItem.find(".scoreNum").val();
  142. }
  143. //过滤优先级
  144. var isbreak=false;
  145. $.each(quOptionItems,function(){
  146. var quCoItem=$(this);
  147. var quInput=null;
  148. var logicStatus=false;
  149. var curQuItemId=null;
  150. if(quType==="RADIO"){
  151. quInput=quCoItem.find("input[type='radio']");
  152. logicStatus=quInput.prop("checked");
  153. curQuItemId=quInput.val();
  154. }else if(quType==="CHECKBOX"){
  155. quInput=quCoItem.find("input[type='checkbox']");
  156. logicStatus=quInput.prop("checked");
  157. curQuItemId=quInput.val();
  158. }else if(quType==="MULTIFILLBLANK"){
  159. quInput=quCoItem.find(".dwMFillblankOptionId");
  160. logicStatus=quCoItem.find(".dwMFillblankInput").val()!="";
  161. curQuItemId=quInput.val();
  162. }
  163. if(curQuItemId===cgQuItemId){
  164. if(logicStatus){
  165. var hidQuItemBodys=$(".hidFor"+logicId);
  166. $(".hidFor"+logicId).removeClass("hidFor"+logicId);
  167. $.each(hidQuItemBodys,function(){
  168. var thQuItemBodyClass=$(this).attr("class");
  169. if(thQuItemBodyClass.indexOf("hidFor")<0){
  170. $(this).show();
  171. $(this).find(".answerTag").attr("disabled",false);
  172. }
  173. });
  174. }else{
  175. var hidQuItemBody=$(".quId[value='"+skQuId+"']").parents(".li_surveyQuItemBody");
  176. hidQuItemBody.hide();
  177. hidQuItemBody.addClass("hidFor"+logicId);
  178. hidQuItemBody.find(".answerTag").attr("disabled",true);
  179. }
  180. return false;
  181. }
  182. });
  183. if(isbreak){
  184. return false;
  185. }
  186. });
  187. }
  188. }
  189. }