PageRenderTime 54ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/Discuz/Discuz.Web/javascript/template_postgoods.js

#
JavaScript | 306 lines | 249 code | 34 blank | 23 comment | 60 complexity | 742d0f17e66c8ca1a4a2e7aa74b890e8 MD5 | raw file
  1. var item_form = document.forms["postform"];
  2. /*******************************************************城市信息*********************************************************/
  3. //数据文件详见javascript/locations.js
  4. $("locus_1").onchange = function(e) {
  5. var length = 0;
  6. for(var i in locations) {
  7. if(locations[i].state == $("locus_1").value) {
  8. $("locus_2").options[length] = new Option(locations[i].city, locations[i].lid);
  9. length++;
  10. }
  11. }
  12. $("locus_2").options.length = length;
  13. }
  14. function initstate() {
  15. $("locus_1").options.length = states.length+1;
  16. $("locus_1").options[0] = new Option("----请选择省份----","-1");
  17. i = 1;
  18. for(var state in states) {
  19. $("locus_1").options[i] = new Option(states[i-1].state, states[i-1].state);
  20. i++;
  21. }
  22. }
  23. initstate();
  24. /************************************************日期显示********************************************/
  25. var _hourObject = $("_hour");
  26. var _dateObject = $("_date");
  27. var _minuteObject = $("_minute");
  28. var serverTime = $("serverdatetime").value;
  29. var clientTime = new Date();
  30. //alert(clientTime.getTime() + " " +serverTime );
  31. var offset = 0;
  32. if (serverTime != '') {
  33. offset = serverTime - clientTime.getTime();
  34. }
  35. var maxDate = 14;
  36. try {
  37. var now = new Date();
  38. now.setTime(now.getTime() + offset);
  39. var date = now.getFullYear()+'-'+(now.getMonth()+1)+'-'+now.getDate();
  40. var hour = now.getHours();
  41. var minute = now.getMinutes();
  42. //get last time
  43. var dateTime = serverTime;
  44. dateTime = dateTime.replace('-0', '-');
  45. var dateTimeArray = dateTime.split(' ');
  46. if (dateTimeArray[0]) {
  47. date = dateTimeArray[0];
  48. }
  49. if (dateTimeArray[1]) {
  50. var timeArray = dateTimeArray[1].split(':');
  51. if (timeArray[0]) {
  52. hour = timeArray[0];
  53. }
  54. if (timeArray[1]) {
  55. minute = timeArray[1];
  56. }
  57. }
  58. //format date
  59. date = date.replace('-0', '-');
  60. //delete old options
  61. for (var i = _dateObject.length - 1; i >= 0; --i) {
  62. _dateObject.remove(i);
  63. }
  64. //add new options
  65. var selected = 0;
  66. for (var i = 0; i <= maxDate; ++i) {
  67. var _now = new Date();
  68. _now.setTime(_now.getTime() + offset);
  69. _now.setDate(now.getDate() + i);
  70. var displayDate = _now.getFullYear()+'年'+(_now.getMonth()+1)+'月'+_now.getDate()+'日';
  71. var dateValue = _now.getFullYear()+'-'+(_now.getMonth()+1)+'-'+_now.getDate();
  72. _dateObject.options[i] = new Option(displayDate, dateValue);
  73. if (date == dateValue) {
  74. selected = i;
  75. }
  76. }
  77. if (_dateObject.options[selected]) {
  78. _dateObject.options[selected].selected = 'selected';
  79. }
  80. changeDate();
  81. //set now or set
  82. if (!dateTime || dateTime.length <= 2) {
  83. item_form.elements['_now'][0].checked = true;
  84. _dateObject.disabled = true;
  85. _hourObject.disabled = true;
  86. _minuteObject.disabled = true;
  87. }else {
  88. item_form.elements['_now'][1].checked = true;
  89. _dateObject.disabled = false;
  90. _hourObject.disabled = false;
  91. _minuteObject.disabled = false;
  92. }
  93. }catch (e) {
  94. alert(e.message + e.number);
  95. }
  96. function setStartTimeEnable(flag) {
  97. _dateObject.disabled = !flag;
  98. _hourObject.disabled = !flag;
  99. _minuteObject.disabled = !flag;
  100. }
  101. function changeDate() {
  102. try {
  103. //delete old hour
  104. for (var i = _hourObject.length - 1; i >= 0; --i) {
  105. _hourObject.remove(i);
  106. }
  107. var startDate = new Date();
  108. startDate.setTime(startDate.getTime() + offset);
  109. var endDate = new Date();
  110. endDate.setTime(endDate.getTime() + offset);
  111. endDate.setDate(endDate.getDate() + maxDate);
  112. var currDate = new Date();
  113. currDate.setTime(currDate.getTime() + offset);
  114. var currDateStr = _dateObject.options[_dateObject.selectedIndex].value;
  115. var dateArray = currDateStr.split('-');
  116. currDate.setFullYear(dateArray[0], dateArray[1] - 1, dateArray[2]);
  117. currDate.setSeconds(0);
  118. var startHour = 0;
  119. var endHour = 24;
  120. var key = 0;
  121. var selected = 0;
  122. for (var i = startHour; i < endHour; ++i) {
  123. currDate.setHours(i);
  124. currDate.setMinutes(59);
  125. if (startDate.getTime() > currDate.getTime()) {
  126. continue;
  127. }
  128. currDate.setMinutes(0);
  129. if (currDate.getTime() > endDate.getTime()) {
  130. break;
  131. }
  132. _hourObject.options[key] = new Option(i, i);
  133. if (hour == i) {
  134. selected = key;
  135. }
  136. key++;
  137. }
  138. if (_hourObject.options[selected]) {
  139. _hourObject.options[selected].selected = 'selected';
  140. }
  141. changeHour();
  142. }catch (e) {
  143. alert(e.message + e.number);
  144. }
  145. }
  146. function changeHour() {
  147. try {
  148. //delete old minute
  149. for (var i = _minuteObject.length - 1; i >= 0; --i) {
  150. _minuteObject.remove(i);
  151. }
  152. var startDate = new Date();
  153. startDate.setTime(startDate.getTime() + offset);
  154. var endDate = new Date();
  155. endDate.setTime(endDate.getTime() + offset);
  156. endDate.setDate(endDate.getDate() + maxDate);
  157. var currDate = new Date();
  158. currDate.setTime(currDate.getTime() + offset);
  159. var currDateStr = _dateObject.options[_dateObject.selectedIndex].value;
  160. var dateArray = currDateStr.split('-');
  161. currDate.setFullYear(dateArray[0], dateArray[1] - 1, dateArray[2]);
  162. currDate.setHours(_hourObject.options[_hourObject.selectedIndex].value);
  163. currDate.setSeconds(0);
  164. hour = currDate.getHours();
  165. var startMinute = 0;
  166. var endMinute = 60;
  167. var step = 5;
  168. var key = 0;
  169. var selected = 0;
  170. for (var i = startMinute; i < endMinute; i+=5) {
  171. currDate.setMinutes(i);
  172. if (startDate.getTime() > currDate.getTime()) {
  173. continue;
  174. }
  175. if (currDate.getTime() > endDate.getTime()) {
  176. break;
  177. }
  178. _minuteObject.options[key] = new Option(i, i);
  179. if (Math.abs(minute - i) < step) {
  180. selected = key;
  181. }
  182. key++;
  183. }
  184. if (_minuteObject.options[selected]) {
  185. _minuteObject.options[selected].selected = 'selected';
  186. }
  187. }catch (e) {
  188. alert(e.message + e.number);
  189. }
  190. }
  191. function setMinute() {
  192. minute = _minuteObject.value;
  193. }
  194. function setTimeEnableAndInStock(bTime, bInStock){
  195. setStartTimeEnable(bTime);
  196. // if (bInStock && bInStock == 1){
  197. // item_form["dateline"].value=item_form['_date'].value + " " +item_form['_hour'].value + ":"+item_form['_minute'].value;
  198. // }
  199. }
  200. //function bindDateLine()
  201. //{
  202. // //alert('d');
  203. // //item_form["dateline"].value=item_form['_date'].value + " " +item_form['_hour'].value + ":"+item_form['_minute'].value;
  204. // //return true;
  205. //}
  206. /********************************************** form validate *****************************************************/
  207. lang["post_trade_amount_is_number"] = "对不起,商品总数必须为有效数字且不小于1。";
  208. lang["post_trade_costprice_is_number"] = "对不起,商品原价必须为有效数字且不小于1。";
  209. lang["post_trade_price_is_number"] = "对不起,商品现价必须为有效数字且不小于1。";
  210. lang["post_trade_postage_is_number"] = "对不起,运费必须为有效数字或为空。";
  211. lang["post_trade_repair_is_number"] = "对不起,保修期必须为有效数字或为空。";
  212. //该方法绑定不能注释,否则会造成提交出现问题
  213. $("postform").onsubmit = function() {
  214. if(validate(this)){
  215. if(validategoods()) {
  216. // if($("postsubmit").name == "editsubmit")
  217. return true ;
  218. }
  219. }
  220. return false;
  221. };
  222. function isPlus(number) {
  223. if(parseInt(number)<=0 || !parseInt(number)) {
  224. return false;
  225. }
  226. return true;
  227. }
  228. function validategoods() {
  229. if($("amount").value == "" || !isPlus($("amount").value)) {
  230. alert(lang["post_trade_amount_is_number"]);
  231. $('amount').focus();
  232. return false;
  233. }
  234. if($("costprice").value == "" || !isPlus($("costprice").value)) {
  235. alert(lang["post_trade_costprice_is_number"]);
  236. $('costprice').focus();
  237. return false;
  238. }
  239. if($("price").value == "" || !isPlus($("price").value)) {
  240. alert(lang["post_trade_price_is_number"]);
  241. $("price").focus();
  242. return false;
  243. }
  244. if(item_form.elements["transport"][0].checked != true) {
  245. if($("postage_mail").value != "" && !isPlus($("postage_mail").value)) {
  246. alert(lang["post_trade_postage_is_number"]);
  247. $("postage_mail").focus();
  248. return false;
  249. }
  250. if($("postage_express").value != "" && !isPlus($("postage_express").value)) {
  251. alert(lang["post_trade_postage_is_number"]);
  252. $("postage_express").focus();
  253. return false;
  254. }
  255. if($("postage_ems").value != "" && !isPlus($("postage_ems").value)) {
  256. alert(lang["post_trade_postage_is_number"]);
  257. $("postage_ems").focus();
  258. return false;
  259. }
  260. }
  261. if($("repair").value != "" && !isPlus($("repair").value)) {
  262. alert(lang["post_trade_repair_is_number"]);
  263. $("repair").focus();
  264. return false;
  265. }
  266. if($("tradetype_1").checked && $("account").value == '') {
  267. alert('请输入支付宝帐号信息');
  268. $('account').focus();
  269. return false;
  270. }
  271. return true;
  272. }