event_join_single.htm 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>{lang xj_event:wycj}</title>
  6. <link href="source/plugin/xj_event/ui/jquery-ui.css" rel="stylesheet">
  7. <style>
  8. body{ font-size:12px; padding:0px 10px;font-family: "Microsoft YaHei" ! important;}
  9. #dialog label, #dialog input { display:block; }
  10. #dialog label { margin-top: 0.5em; }
  11. #dialog input, #dialog textarea { width: 95%; }
  12. #tabs { margin-top: 1em; }
  13. #tabs li .ui-icon-close { float: left; margin: 0.4em 0.2em 0 0; cursor: pointer; }
  14. #add_tab { cursor: pointer; }
  15. </style>
  16. <script src="source/plugin/xj_event/ui/jquery.1.10.2.js"></script>
  17. <script src="source/plugin/xj_event/ui/jquery-ui.js"></script>
  18. <script type="text/javascript" src="source/plugin/xj_event/module/wsqcenter/js/jquery.form.js"></script>
  19. <script>
  20. $(function() {
  21. var tabs = $( "#tabs" ).tabs();
  22. //地区选择
  23. var residecity;
  24. $(".residecity").button();
  25. $("body").on("click",".residecity", function () {
  26. residecity = $(this);
  27. $.ajax({
  28. cache: false,
  29. type: "POST",
  30. url: 'plugin.php?id=xj_event:city&level=1',
  31. dataType: 'html',
  32. async: true,
  33. error: function(request) {
  34. alert("Connection error");
  35. },
  36. success: function(html) {
  37. residecity.hide();
  38. residecity.next().html(html);
  39. }
  40. });
  41. });
  42. $("body").on("change","#province",function(){
  43. var province = $(this).val();
  44. $.ajax({
  45. cache: false,
  46. type: "POST",
  47. url: 'plugin.php?id=xj_event:city&level=2&province='+province,
  48. dataType: 'html',
  49. async: true,
  50. error: function(request) {
  51. alert("Connection error");
  52. },
  53. success: function(html) {
  54. residecity.next().html(html);
  55. }
  56. });
  57. // alert($(this).find("option:selected").text());
  58. });
  59. $("body").on("change","#city",function(){
  60. var city = $(this).val();
  61. var province = $("#province").val();
  62. $.ajax({
  63. cache: false,
  64. type: "POST",
  65. url: 'plugin.php?id=xj_event:city&level=2&province='+province+'&city='+city,
  66. dataType: 'html',
  67. async: true,
  68. error: function(request) {
  69. alert("Connection error");
  70. },
  71. success: function(html) {
  72. residecity.next().html(html);
  73. }
  74. });
  75. });
  76. $("body").on("change","#county",function(){
  77. var county = $(this).val();
  78. var province = $("#province").val();
  79. var city = $("#city").val();
  80. $.ajax({
  81. cache: false,
  82. type: "POST",
  83. url: 'plugin.php?id=xj_event:city&level=3&province='+province+'&city='+city+'&county='+county,
  84. dataType: 'html',
  85. async: true,
  86. error: function(request) {
  87. alert("Connection error");
  88. },
  89. success: function(html) {
  90. if(html.indexOf('<!--end-->')>-1){
  91. residecity.prev().html($("#province").find("option:selected").text() + $("#city").find("option:selected").text() + $("#county").find("option:selected").text());
  92. residecity.prev().prev().val($("#province").find("option:selected").text() + $("#city").find("option:selected").text() + $("#county").find("option:selected").text());
  93. residecity.next().html('');
  94. residecity.show();
  95. }else{
  96. residecity.next().html(html);
  97. }
  98. }
  99. });
  100. });
  101. $("body").on("change","#town",function(){
  102. residecity.prev().html($("#province").find("option:selected").text() + $("#city").find("option:selected").text() + $("#county").find("option:selected").text() + $("#town").find("option:selected").text());
  103. residecity.prev().prev().val($("#province").find("option:selected").text() + $("#city").find("option:selected").text() + $("#county").find("option:selected").text() + $("#town").find("option:selected").text());
  104. residecity.next().html('');
  105. residecity.show();
  106. });
  107. //生日时期选择
  108. $("body").on("focus",".dateselect",function(){
  109. $(this).next().html('<input type="text" id="datepicker">');
  110. $( "#datepicker" ).datepicker({
  111. defaultDate: '{$mybirthday}',
  112. monthNamesShort:['{lang xj_event:yiyue}', '{lang xj_event:eryue}', '{lang xj_event:sanyue}', '{lang xj_event:siyue}', '{lang xj_event:wuyue}', '{lang xj_event:niuyue}', '{lang xj_event:qiyue}', '{lang xj_event:bayue}', '{lang xj_event:jiuyue}', '{lang xj_event:shiyue}', '{lang xj_event:shiyiyue}', '{lang xj_event:shieryue}'],
  113. dayNamesMin :['{lang xj_event:ri}', '{lang xj_event:yi}', '{lang xj_event:er}', '{lang xj_event:san}', '{lang xj_event:si}', '{lang xj_event:wu}', '{lang xj_event:niu}'],
  114. changeMonth: true,
  115. changeYear: true,
  116. dateFormat: 'yy-mm-dd',
  117. onClose: function( selectedDate ) {
  118. //$( "#to" ).datepicker( "option", "minDate", selectedDate );
  119. $(this).parent().prev().val(selectedDate);
  120. $(this).parent().prev().show();
  121. $(this).parent().html('');
  122. }
  123. });
  124. $(this).hide();
  125. $(this).next().find("input").focus();
  126. });
  127. //提交
  128. $("#sumbit").button().click(function(event) {
  129. <!--{if $setting[statements]}-->
  130. //是否同意活动声明
  131. if($("#shenming").is(':checked') == false){
  132. alert('{lang xj_event:tyhdsmhckybm}');
  133. return;
  134. }
  135. <!--{/if}-->
  136. var postjson = [];
  137. var a = false;
  138. var json = {};
  139. $('#tabs-1 input').each(function(index) {
  140. if($(this).attr('type')=='text' || $(this).attr('type')=='hidden'){
  141. json[$(this).attr('name')] = $(this).val();
  142. }
  143. if($(this).attr('type')=='checkbox'){
  144. if($(this).is(':checked')){
  145. var checkboxname = $(this).attr('name').replace('[]','');
  146. if(json[checkboxname]){
  147. json[checkboxname] = json[checkboxname] + ',' + $(this).val();
  148. }else{
  149. json[checkboxname] = $(this).val();
  150. }
  151. }
  152. }
  153. if( $(this).attr('type')=='radio'){
  154. if($(this).is(':checked')){
  155. json[$(this).attr('name')] = $(this).val();
  156. }
  157. }
  158. });
  159. $('#tabs-1 select').each(function(index) {
  160. json[$(this).attr('name')] = $(this).val();
  161. });
  162. //判断是否有空的数据
  163. if(JSON.stringify(json).indexOf('""')>-1){
  164. a = true;
  165. }
  166. $('#tabs-1 textarea').each(function(index) {
  167. json[$(this).attr('name')] = $(this).val();
  168. });
  169. postjson.push(json);
  170. //判断是否有空的数据
  171. if(a){
  172. showmessage('{lang xj_event:bmzlqtxwz}');
  173. return;
  174. }
  175. var postdata = JSON.stringify(postjson);
  176. $('#tabs').hide();
  177. $('#sumbit').hide();
  178. $.ajax({
  179. cache: false,
  180. type: "POST",
  181. url: 'plugin.php?id=xj_event:event_join_single&tid={$tid}&action=joinfull&formhash={$_G[formhash]}',
  182. data: postdata,
  183. dataType: 'json',
  184. async: true,
  185. error: function(request) {
  186. alert("Connection error");
  187. $('#tabs').show();
  188. $('#sumbit').show();
  189. },
  190. success: function(json) {
  191. if(json.full == 1){
  192. showmessage(json.message);
  193. $('body,html').animate({scrollTop:0},0);
  194. if(json.url){
  195. window.parent.parent.location.href=json.url;
  196. }else{
  197. window.parent.parent.location.href='forum.php?mod=viewthread&tid={$tid}';
  198. }
  199. return true;
  200. }else if(json.full == 2){
  201. $('#tabs').show();
  202. $('#sumbit').show();
  203. showmessage(json.message);
  204. $('body,html').animate({scrollTop:0},1000);
  205. return false;
  206. }
  207. }
  208. });
  209. });
  210. function showmessage(mm){
  211. $('#warning_mm').html(mm);
  212. $('#warning').show();
  213. function closemm(){
  214. $('#warning').hide();
  215. clearTimeout(mmtime);
  216. }
  217. var mmtime = setTimeout(function(){
  218. closemm()
  219. },4000);
  220. }
  221. });
  222. </script>
  223. </head>
  224. <body>
  225. <div class="ui-widget" id="warning" style="display:none;">
  226. <div class="ui-state-highlight ui-corner-all" style="margin-top: 20px; padding: 0 .7em;">
  227. <p><span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span><span id="warning_mm"></span></p>
  228. </div>
  229. </div>
  230. <!-- Tabs -->
  231. <div id="tabs">
  232. <div id="tabs-1">
  233. <div style=" padding:10px 10px; border-bottom:1px dashed #CCC;">
  234. <div style="width:80px; float:left; line-height:30px; font-size:12px; color:#999;">{lang xj_event:bmrs}</div>
  235. <!--{if $setting[cost]}-->
  236. <div style="margin-left:90px;">
  237. <input type="hidden" id="applynumber" name="applynumber" value="0">
  238. <!--{loop $setting[cost] $value}-->
  239. <div style="height:30px;">
  240. <span style="float:left; height:26px; padding:0px 5px;font-size:14px; line-height:26px;">{$value[cost_name]}</span>
  241. <span style="border:1px solid #CCC; font-size:14px; height:26px; display:block; float:left;">
  242. <span style="padding:5px 8px;cursor:pointer;" onClick="applynumberjian({$value[id]});">-</span>
  243. <input type="text" id="applynumber{$value[id]}" name="cost{$value[id]}" value="0" style=" border:none; padding:3px; text-align:center; width:20px;" readonly="readonly">
  244. <span style="padding:5px 8px;cursor:pointer;" onClick="applynumberjia({$value[id]});">+</span>
  245. </span>
  246. </div>
  247. <!--{/loop}-->
  248. </div>
  249. <div style="clear:both;"></div>
  250. <script>
  251. function applynumberjia(a){
  252. var i = parseInt($('#applynumber'+a).val())+1;
  253. var t = parseInt($('#applynumber').val())+1;
  254. if(t<={$items[event_number_max]}){
  255. $('#applynumber'+a).attr('value',i);
  256. $('#applynumber').attr('value',t);
  257. }
  258. }
  259. function applynumberjian(a){
  260. var i = parseInt($('#applynumber'+a).val())-1;
  261. var t = parseInt($('#applynumber').val())-1;
  262. if(i>=0 && t>0){
  263. $('#applynumber'+a).attr('value',i);
  264. $('#applynumber').attr('value',t);
  265. }
  266. }
  267. </script>
  268. <!--{else}-->
  269. <select name="applynumber">
  270. <!--{loop $applynumber $value}-->
  271. <option value="$value">$value {lang xj_event:ren}</option>
  272. <!--{/if}-->
  273. </select>
  274. <!--{/if}-->
  275. </div>
  276. <!--{if $setting[session]}-->
  277. <div style=" padding:10px 10px; border-bottom:1px dashed #CCC;">
  278. <div style="width:80px; float:left; line-height:30px; font-size:12px; color:#999;">{lang xj_event:huodongcc}</div>
  279. <select name="session" style="width:120px;">
  280. <option value="" selected="selected">{lang choose_please}</option>
  281. <!--{loop $setting[session] $key $value}-->
  282. <option value="$key">$value</option>
  283. <!--{/loop}-->
  284. </select>
  285. </div>
  286. <!--{/if}-->
  287. <!--{if !empty($selectuserfield)}-->
  288. <!--{loop $selectuserfield $fieldid}-->
  289. <!--{if $settings[$fieldid][available]}-->
  290. <div style=" padding:10px 10px; border-bottom:1px dashed #CCC;">
  291. <div style="width:80px; float:left; line-height:30px; font-size:12px; color:#999;">$settings[$fieldid][title]</div>
  292. <!--{if $settings[$fieldid][formtype] != 'file'}-->
  293. $htmls[$fieldid]
  294. <!--{else}-->
  295. <input id="activitypic_$fieldid" type="text" tabindex="1" value="" placeholder="{lang xj_event:qsrtpdz}" class="px" name="$fieldid" onblur="if(!this.value.match(/^https?:\/\/.+\/.+\.(jpg|png|gif|jpeg|bmp)$/i)){ $('showerror_$fieldid').innerHTML='{lang xj_event:tpdzcw}';}else{ $('showerror_$fieldid').innerHTML='&nbsp;';}">
  296. <!--{/if}-->
  297. </div>
  298. <!--{/if}-->
  299. <!--{/loop}-->
  300. <!--{/if}-->
  301. <!--{if !empty($myuserfield)}-->
  302. <!--{loop $myuserfield $value}-->
  303. <div style=" padding:10px 10px; border-bottom:1px dashed #CCC;">
  304. <div style="width:80px; float:left; line-height:30px; font-size:12px; color:#999;">{$value[title]}</div>
  305. {$value[html]}
  306. </div>
  307. <!--{/loop}-->
  308. <!--{/if}-->
  309. <!--{if in_array('bmmessage',$selectuserfield)}-->
  310. <div style=" padding:10px 10px;">
  311. <div style="width:80px; float:left; line-height:30px; font-size:12px; color:#999;">{lang xj_event:liuyan}</div>
  312. <textarea name="message" maxlength="100" cols="38" rows="3" class="pt" tabindex="4"></textarea>
  313. </div>
  314. <!--{/if}-->
  315. </div>
  316. </div>
  317. <!--{if $setting[statements]}-->
  318. <div id="shemming_content" style="padding:20px; background-color:#f0f0f0; display:none;">
  319. {$_G[cache][plugin][xj_event][event_statements]}
  320. </div>
  321. <script>
  322. function showshenming(){
  323. if($('#shemming_content').is(":hidden")){
  324. $('#shemming_content').show();
  325. }else{
  326. $('#shemming_content').hide();
  327. }
  328. }
  329. </script>
  330. <div style="padding:5px;">
  331. <input type="checkbox" id="shenming" value="yes" checked="checked" />{lang xj_event:tongyi}<a href="javascript:" onclick="showshenming();">{lang xj_event:huodongsm}</a>
  332. </div>
  333. <!--{/if}-->
  334. <div style="padding:10px; text-align:center;">
  335. <button id="sumbit">{lang xj_event:tijiao}</button>
  336. </div>
  337. <script language="javascript">
  338. $(function(){
  339. //上传图片
  340. $("body").on("change",".uploadfile",function(){
  341. var showimg = $(this).parent().parent().find('.showimg');
  342. var bar = $(this).parent().parent().find('.bar');
  343. var uploadcover = $(this).parent().parent().find('.uploadcover');
  344. var uploaderror = $(this).parent().parent().find('.uploaderror');
  345. var inputtext = $(this).parent().parent().find('.inputtext');
  346. bar.show();
  347. $(this).parent().parent().find('form').ajaxSubmit({
  348. dataType: 'json',
  349. beforeSend: function() {
  350. //showimg.empty();
  351. var percentVal = '0%';
  352. bar.width(percentVal);
  353. },
  354. uploadProgress: function(event, position, total, percentComplete) {
  355. var percentVal = percentComplete + '%';
  356. bar.width(percentVal);
  357. },
  358. success: function(data) {
  359. if(data.error){
  360. alert(data.error);
  361. var percentVal = '0%';
  362. bar.width(percentVal);
  363. return;
  364. }
  365. //progress.hide();
  366. bar.hide();
  367. //files.html("<b>"+data.name+"("+data.size+"k)</b> <span class='delimg' rel='"+data.pic+"'>删除</span>");
  368. if(data.pic!=null){
  369. var img = "{$_G[siteurl]}"+data.dir+data.pic;
  370. inputtext.val(img);
  371. showimg.html("<img src='"+img+"' style='width:100%;'>");
  372. uploadcover.hide();
  373. }
  374. },
  375. error:function(xhr){
  376. bar.width('0');
  377. uploaderror.html(xhr.responseText);
  378. }
  379. });
  380. });
  381. });
  382. </script>
  383. </body>
  384. </html>