usertel.php 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. <?php
  2. use yii\helpers\Url;
  3. use yii\helpers\Html;
  4. ?>
  5. <!doctype html>
  6. <html>
  7. <head>
  8. <meta charset="UTF-8">
  9. <title>绑定手机</title>
  10. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
  11. <?= Html::cssFile('@web/css/weui.min.css') ?>
  12. <?= Html::cssFile('@web/css/jquery-weui.min.css') ?>
  13. <?= Html::cssFile('@web/css/base.css') ?>
  14. <?= Html::cssFile('@web/iconfont/iconfont.css') ?>
  15. </head>
  16. <body>
  17. <div class="tel-id login">
  18. <div class="img">
  19. <img src="../images/logo.png" alt="">
  20. </div>
  21. <form method="post" action="<?=Url::toRoute(['user/usertel','id'=>$id])?>" id="myform">
  22. <ul class="id-info">
  23. <li>
  24. <label for="tel">手机</label>
  25. <input type="text" id="tel" name="tel" value="" placeholder="请输入手机号">
  26. </li>
  27. <li>
  28. <label for="code">验证码</label>
  29. <input type="text" id="code" name="code" value="" placeholder="请输入验证码">
  30. <a href="javascript:;" id="getvarifyCode"data="false" class="open-box getvarifyCode" >获取验证码</a>
  31. </li>
  32. </ul>
  33. <a href="javascript:;" class="weui-btn weui-btn_plain-default signin">绑定手机号码</a>
  34. <input type="hidden" name="_csrf-frontend" value="<?= Yii::$app->request->csrfToken ?>">
  35. </form>
  36. </div>
  37. <div class="code-box">
  38. <h2>请输入图片验证码</h2>
  39. <a href="javascript:;" class="close"><i class="iconfont icon-guanbi"></i></a>
  40. <div class="img">
  41. <?= \yii\captcha\Captcha::widget(['name'=>'captchaimg','captchaAction'=>'captcha','imageOptions'=>['id'=>'captchaimg', 'title'=>'换一个', 'alt'=>'换一个'],'template'=>'{image}']); ?>
  42. <!-- <img src="../code.php" id="createCheckCode" alt="">-->
  43. <a onClick="updateImg()" href="javascript:;" class="refurbish"><i class="iconfont icon-shuaxin"></i></a>
  44. </div>
  45. <div class="input">
  46. <input type="text" class="now" id="first" />
  47. </div>
  48. </div>
  49. <div class="code-bg"></div>
  50. <?= Html::jsFile('@web/js/jquery.min.js') ?>
  51. <?= Html::jsFile('@web/js/jquery-weui.min.js') ?>
  52. <?= Html::jsFile('@web/layer/layer.js') ?>
  53. <script>
  54. //局部刷新验证码
  55. function updateImg(){
  56. //$("#createCheckCode").attr("src", $("#createCheckCode").attr("src") +'?rnd='+ Math.random());
  57. $('#captchaimg').click();
  58. $('.now').val('');
  59. $('#first').focus();
  60. }
  61. var lock = true;
  62. $('.signin').click(function(){
  63. // var passreg = /^[a-zA-Z]\w{5,17}$/;
  64. var tel = $('#tel').val();
  65. var verifyCode = $('#code').val();
  66. // var password = $('#pwd').val();
  67. // var password_again = $('#pwd_again').val();
  68. if(tel==''){
  69. layer.msg("手机号码不能为空");
  70. return false;
  71. }else if(!tel_reg.test(tel)){
  72. layer.msg("手机格式不正确");
  73. return false;
  74. }else if(verifyCode==''){
  75. layer.msg("请输入验证码");
  76. return false;
  77. }
  78. if(lock){
  79. lock=false;
  80. $('#myform').submit();
  81. }
  82. })
  83. var tel_reg = /^1[34578]\d{9}$/;
  84. //验证码弹窗
  85. /* $('.tel-id .open-box').on('click',function () {
  86. if($('#getvarifyCode').attr("data")=='false'){
  87. var tel = $('#tel').val();
  88. if(!tel_reg.test(tel)){
  89. layer.msg("手机号码格式不正确");
  90. return false;
  91. }
  92. $('.code-box').show();
  93. $('.code-bg').show();
  94. $('#first').focus();//获取第一个焦点
  95. $('.code-box .close').on('click',function () {//关闭按钮
  96. $('.code-box').hide();
  97. $('.code-bg').hide();
  98. });
  99. }
  100. }); */
  101. $('#getvarifyCode').on('click',function(){
  102. if($(this).attr('data')!='false')
  103. {
  104. return false;
  105. }
  106. var tel = $('#tel').val();
  107. if(!tel_reg.test(tel)){
  108. layer.msg("手机号码格式不正确");
  109. return false;
  110. }
  111. $.ajax({
  112. url: '<?=Url::toRoute(['site/sendcode2'])?>',
  113. type: 'POST',
  114. dataType:"json",
  115. data: {tel:tel,type:'绑定手机号码', '_csrf-frontend': '<?=Yii::$app->request->getCsrfToken();?>'},
  116. success: function (data) {
  117. if(data.sign==1){
  118. layer.msg(data.msg);
  119. $('#getvarifyCode').removeClass('getvarifyCode');
  120. setTime();
  121. }else{
  122. layer.msg(data.msg);
  123. }
  124. }
  125. });
  126. });
  127. //验证码输入完毕执行事件
  128. $('#first').on('keyup',function(){
  129. var length = this.value.length;
  130. if( length == 4){
  131. var one = $('#first').val();
  132. // var two = $('#two').val();
  133. // var three = $('#three').val();
  134. // var four = $('#last').val();
  135. var tel = $('#tel').val();
  136. var code = one;
  137. // if(one!=''&&two!=''&&three!=''&&four!=''){
  138. if(one!=''){
  139. $.ajax({
  140. url:"<?=Url::toRoute(['user/yzm']);?>",
  141. type:"POST",
  142. dataType:"JSON",
  143. data:{code:code,
  144. '_csrf-frontend':"<?= Yii::$app->request->csrfToken ?>"},
  145. success:function(data){
  146. if(data.sign==0){
  147. layer.msg(data.msg);
  148. // updateImg();
  149. }else if(data.sign==1){
  150. $.ajax({
  151. url: '<?=Url::toRoute(['site/sendcode2'])?>',
  152. type: 'POST',
  153. dataType:"json",
  154. data: {tel:tel,type:'绑定手机号码', '_csrf-frontend': '<?=Yii::$app->request->getCsrfToken();?>'},
  155. success: function (data) {
  156. if(data.sign==1){
  157. layer.msg(data.msg);
  158. $('#getvarifyCode').removeClass('getvarifyCode');
  159. setTime();
  160. $('.code-box').hide();
  161. $('.code-bg').hide();
  162. }else{
  163. layer.msg(data.msg);
  164. }
  165. }
  166. });
  167. }
  168. }
  169. });
  170. }
  171. }
  172. });
  173. var wait;
  174. function setTime(){
  175. wait = <?=\frontend\controllers\SiteController::$send_code_time?>;
  176. timer = setInterval("time()",1000);
  177. $('#getvarifyCode').css('background-color','#A1A1A1');
  178. $('#getvarifyCode').css('border','1px solid #A1A1A1');
  179. $('#getvarifyCode').attr("data", true);
  180. }
  181. function time(){
  182. if(wait>=0){
  183. msg="重新发送(" + wait + "s)";
  184. $('#getvarifyCode').text(msg);
  185. --wait;
  186. window.name=wait;
  187. $('#getvarifyCode').attr("data", true);
  188. } else{
  189. clearInterval(timer);
  190. $('#getvarifyCode').text('重新发送');
  191. $('#getvarifyCode').css('background-color','#ff9e1c');
  192. $('#getvarifyCode').addClass('getvarifyCode');
  193. $('#getvarifyCode').attr("data", false);
  194. }
  195. }
  196. </script>
  197. </body>
  198. </html>