edit-phone.html 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>更改手机号</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
  7. <meta name="apple-mobile-web-app-capable" content="yes">
  8. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  9. <link rel="stylesheet" type="text/css" href="css/mui.min.css" />
  10. <link rel="stylesheet" type="text/css" href="css/iconfont.css" />
  11. <link rel="stylesheet" type="text/css" href="css/main.css" />
  12. <style>
  13. .mui-input-row label {
  14. width: 30%;
  15. }
  16. .mui-input-row label {
  17. padding: 5px 15px 7px 15px;
  18. position: relative;
  19. }
  20. .sex-group .mui-radio.mui-left label {
  21. padding: 13px 15px 11px 35px;
  22. }
  23. .mui-radio {
  24. display: inline-block;
  25. }
  26. .mui-input-group .mui-input-row {
  27. height: 46px;
  28. padding: 3px 0;
  29. }
  30. .mui-input-row label~input {
  31. width: 65%;
  32. font-size: 14px;
  33. }
  34. .mui-input-row label~input::-webkit-input-placeholder {
  35. color: #bbb;
  36. }
  37. .mui-radio.mui-left input[type=radio] {
  38. left: 0;
  39. top: 10px;
  40. }
  41. .sex-group {
  42. position: absolute;
  43. left: 35%;
  44. top: 0;
  45. width: 65%;
  46. }
  47. .mui-input-group:before,
  48. .mui-input-group:after {
  49. display: none;
  50. }
  51. .my-lable {
  52. position: absolute;
  53. left: 45px;
  54. top: 12px;
  55. white-space: nowrap;
  56. }
  57. .my-lable i {
  58. color: #ee5c5c;
  59. font-size: 15px;
  60. }
  61. .mui-input-row .iconfont {
  62. color: #727171;
  63. }
  64. .sex-group .mui-radio input[type=radio]::before {
  65. font-family: "iconfont" !important;
  66. font-size: 25px !important;
  67. font-style: normal;
  68. -webkit-font-smoothing: antialiased;
  69. -moz-osx-font-smoothing: grayscale;
  70. padding: 0 !important;
  71. color: #eee;
  72. }
  73. .sex-group .mui-radio input[type=radio].boy::before {
  74. content: '\e721';
  75. }
  76. .sex-group .mui-radio input[type=radio].girl::before {
  77. content: '\e72e';
  78. }
  79. .mui-radio input[type=radio].boy:checked:before,
  80. .mui-radio input[type=radio].girl:checked:before {
  81. color: #727171;
  82. }
  83. .pull-code {
  84. background: #727171;
  85. border-radius: 25px;
  86. border: 0;
  87. color: #fff;
  88. margin-top: 6px;
  89. font-size: 12px;
  90. padding: 5px 2px;
  91. float: right;
  92. width: 90px;
  93. white-space: nowrap;
  94. }
  95. .pull-code:disabled {
  96. background: #E5E5E5;
  97. color: #999;
  98. }
  99. .my-join-vip {
  100. display: block;
  101. width: 180px;
  102. margin: 60px auto 50px auto;
  103. padding: 10px 16px;
  104. border-radius: 25px;
  105. background: #727171;
  106. color: #fff;
  107. border: 0;
  108. font-size: 16px;
  109. }
  110. .my-join-vip:disabled {
  111. background: #e5e5e5;
  112. color: #999;
  113. }
  114. .mui-icon-arrowdown {
  115. position: absolute;
  116. right: 10px;
  117. top: 10px;
  118. color: #999;
  119. pointer-events: none;
  120. }
  121. .mui-input-group .mui-input-row:after{
  122. background-color: #e5e5e5;
  123. }
  124. </style>
  125. <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
  126. <script>
  127. //屏蔽分享
  128. document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
  129. WeixinJSBridge.call('hideOptionMenu');
  130. });
  131. </script>
  132. </head>
  133. <body style="background: #fff;">
  134. <div class="loading-bg">
  135. <div class="mui-loading">
  136. <div class="mui-spinner">
  137. </div>
  138. &nbsp;&nbsp;加载中...
  139. </div>
  140. </div>
  141. <div class="mui-content" style="background: #fff;">
  142. <div style="margin:25px 20px;">
  143. <div style="margin:12px 16px;">
  144. <h4>修改手机号</h4>
  145. <p style="margin: 5px 0 20px 0;">请完善手机号信息</p>
  146. </div>
  147. <form class="mui-input-group">
  148. <div class="mui-input-row">
  149. <label><span class="iconfont icon-A-shoujihao"></span><span class="my-lable"><i>*</i>手机号</span></label>
  150. <input type="tel" placeholder="请输入您的手机号" id="ipt-phone" maxlength="11">
  151. </div>
  152. <div class="mui-input-row">
  153. <label><span class="iconfont icon-A-yanzhengma"></span><span class="my-lable"><i>*</i>验证码</span></label>
  154. <input style="width: 28% !important;float: none;padding-right: 0;margin-left: 5%;" type="tel" placeholder="短信验证码" maxlength="4" id="code"><button type="button" class="pull-code" disabled="disabled">获取验证码</button>
  155. </div>
  156. </form>
  157. <button type="button" class="mui-btn my-join-vip" disabled="disabled">修改</button>
  158. </div>
  159. </div>
  160. <script type="text/javascript" src="js/mui.min.js"></script>
  161. <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
  162. <script type="text/javascript" src="js/main.js"></script>
  163. <script type="text/javascript">
  164. var countdown = 60;
  165. mui.ready(function() {
  166. console.log("页面加载完毕")
  167. document.querySelector('.loading-bg').style.display = 'none';
  168. });
  169. //实时监听文本框字数
  170. document.getElementById("ipt-phone").addEventListener("input", function() {
  171. var phone = this.value;
  172. var mobile = /^(13|14|15|16|17|18|19)[0-9]{9}$/; //手机号码
  173. if(phone.length == 11) {
  174. if(mobile.test(phone) && countdown == 60) {
  175. $(".pull-code").removeAttr("disabled");
  176. } else {
  177. $(".pull-code").attr("disabled", "disabled");
  178. }
  179. } else {
  180. $(".pull-code").attr("disabled", "disabled");
  181. }
  182. });
  183. // 成为会员
  184. $(document).on('tap', '.my-join-vip', function() {
  185. validate();
  186. if(validate_flag) {
  187. var num = /^[0-9]{4,4}$/; //数字(4位)
  188. var code = $('#code').val();
  189. if(num.test(code)) {
  190. console.log('验证通过')
  191. var phone = $('#ipt-phone').val();
  192. var code = $('#code').val();
  193. $.ajax(base_path + '/wechat/agent/updateMemberPhone?dates=' + new Date().getTime(), {
  194. data: {
  195. userTel : phone,
  196. code : code
  197. },
  198. dataType: 'json',
  199. xhrFields: {
  200. withCredentials: true
  201. },
  202. crossDomain: true,
  203. type: 'get',
  204. timeout: 15000,
  205. success: function(dt) {
  206. if(dt.isRedirect) {
  207. location.href = dt.redirectURL;
  208. } else {
  209. if(dt.status){
  210. mui.alert(' ', '更改成功!', function() {
  211. location.href='my-center.html';
  212. });
  213. }else{
  214. mui.toast(dt.message);
  215. }
  216. }
  217. },
  218. error: function(xhr, type, errorThrown) {
  219. console.log(xhr);
  220. }
  221. });
  222. } else {
  223. if(code != '') {
  224. show_msg = '验证码格式不正确';
  225. } else {
  226. show_msg = '请输入短信验证码';
  227. }
  228. mui.alert(show_msg);
  229. }
  230. } else {
  231. mui.alert(show_msg);
  232. }
  233. });
  234. //发送验证码
  235. var validate_flag = false,
  236. show_msg = '';
  237. $(document).on('tap', '.pull-code', function() {
  238. validate();
  239. if(validate_flag) {
  240. settime($(this));
  241. $(".my-join-vip").removeAttr("disabled");
  242. var phone = $('#ipt-phone').val();
  243. $.ajax(base_path + '/wechat/agent/send_phone?dates=' + new Date().getTime(), {
  244. data: {
  245. phone: phone
  246. },
  247. dataType: 'json',
  248. xhrFields: {
  249. withCredentials: true
  250. },
  251. crossDomain: true,
  252. type: 'get',
  253. timeout: 15000,
  254. success: function(dt) {
  255. if(dt.isRedirect) {
  256. location.href = dt.redirectURL;
  257. } else {
  258. if(dt.status) {
  259. console.log("获取短信成功!");
  260. $(".my-join-vip").removeAttr("disabled");
  261. }
  262. }
  263. },
  264. error: function(xhr, type, errorThrown) {
  265. console.log(xhr);
  266. }
  267. });
  268. } else {
  269. mui.alert(show_msg);
  270. }
  271. });
  272. function settime(obj) {
  273. if(countdown == 0) {
  274. obj.removeAttr("disabled");
  275. obj.text("获取验证码");
  276. countdown = 60;
  277. return;
  278. } else {
  279. obj.attr("disabled", true);
  280. obj.text("重新发送" + countdown + "");
  281. countdown--;
  282. }
  283. setTimeout(function() {
  284. settime(obj)
  285. }, 1000)
  286. }
  287. function validate() {
  288. var mobile = /^(13|14|15|17|18)[0-9]{9}$/; //手机号码
  289. var phone = $("#ipt-phone").val();
  290. if(mobile.test(phone)) {
  291. validate_flag = true;
  292. } else {
  293. validate_flag = false;
  294. if(phone != '') {
  295. show_msg = '手机号码格式不正确';
  296. } else {
  297. show_msg = '请输入您的手机号';
  298. }
  299. return false;
  300. }
  301. }
  302. </script>
  303. </body>
  304. </html>