login_inajax.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. <div class="quick-login">
  2. <div class="mt">
  3. <ul>
  4. <li class="on">{$Think.lang.normal_login}</li>
  5. {if $Think.config.ds_config.sms_login == 1}
  6. <li>{$Think.lang.dynamic_verification_code}</li>
  7. {/if}
  8. </ul>
  9. </div>
  10. <div class="mc">
  11. <form id="login_normal_inajax" action="{:url('Login/login')}" method="post" class="bg" >
  12. <dl>
  13. <dt></dt>
  14. <dd>
  15. <i class="iconfont icon">&#xe702;</i>
  16. <input type="text" class="text" name="member_name" id="member_name" value="" placeholder={$Think.lang.login_way} >
  17. </dd>
  18. </dl>
  19. <dl>
  20. <dt></dt>
  21. <dd>
  22. <i class="iconfont icon">&#xe67b;</i>
  23. <input type="password" class="text" name="member_password" id="member_password" value="" placeholder={$Think.lang.login_password}>
  24. </dd>
  25. </dl>
  26. {if $Think.config.ds_config.captcha_status_login == '1'}
  27. <dl>
  28. <dt></dt>
  29. <dd class="clearfix">
  30. <i class="iconfont icon">&#xe67b;</i>
  31. <input type="text" name="captcha_normal" class="text fl" style="width:96px;" id="captcha_normal_inajax" maxlength="4" size="10" />
  32. <img class="fl ml10" height="38" src="{:url('Seccode/makecode')}" title="{$Think.lang.login_index_change_checkcode}" border="0" id="codeimage_inajax" onclick="this.src = '{:url('Seccode/makecode')}'+'?'+(new Date().getTime());">
  33. </dd>
  34. </dl>
  35. {/if}
  36. <ul>
  37. <li>{if $Think.config.ds_config.member_normal_register==1 || $Think.config.ds_config.sms_register==1}<a href="{:url('Login/register')}" class="register">{$Think.lang.quick_login_register}</a>{/if}<a href="{:url('Login/forget_password')}" class="forget">{$Think.lang.quick_login_forget}</a></li>
  38. </ul>
  39. <div class="enter">
  40. <input type="submit" class="submit" value={$Think.lang.login_immediately} name="Submit">
  41. </div>
  42. <input type="hidden" value="{$Request.param.ref_url}" name="ref_url">
  43. </form>
  44. <form id="login_mobile_inajax" style="display:none" action="{:url('Connectsms/login')}" method="post" class="bg" >
  45. <dl>
  46. <dt></dt>
  47. <dd>
  48. <i class="iconfont icon">&#xe702;</i>
  49. <input type="text" class="text" name="sms_mobile" id="sms_mobile" value="" placeholder={$Think.lang.registered_mobile_number} >
  50. </dd>
  51. </dl>
  52. <dl>
  53. <dt></dt>
  54. <dd class="mobile">
  55. <i class="iconfont icon">&#xe67b;</i>
  56. <input type="password" class="text sms_captcha" name="sms_captcha" id="sms_captcha" value="" placeholder={$Think.lang.login_mobile_verification_code}>
  57. <a href="javascript:void(0)" class="send_code" id="btn_sms_captcha" ds_type="2">{$Think.lang.login_get_verification_code}</a>
  58. </dd>
  59. </dl>
  60. {if $Think.config.ds_config.captcha_status_login == '1'}
  61. <dl>
  62. <dt></dt>
  63. <dd class="clearfix">
  64. <i class="iconfont icon">&#xe67b;</i>
  65. <input type="text" name="captcha_mobile" class="text fl" style="width:96px;" id="captcha_mobile_inajax" maxlength="4" size="10" />
  66. <img class="fl ml10" height="38" src="{:url('Seccode/makecode')}" title="{$Think.lang.login_index_change_checkcode}" border="0" id="sms_codeimage_inajax" onclick="this.src = '{:url('Seccode/makecode')}'+'?'+(new Date().getTime());">
  67. </dd>
  68. </dl>
  69. {/if}
  70. <ul>
  71. <li>{if $Think.config.ds_config.member_normal_register==1 || $Think.config.ds_config.sms_register==1}<a href="{:url('Login/register')}" class="register">{$Think.lang.quick_login_register}</a>{/if}<a href="{:url('Login/forget_password')}" class="forget">{$Think.lang.quick_login_forget}</a></li>
  72. </ul>
  73. <div class="enter">
  74. <input type="submit" class="submit" value={$Think.lang.login_immediately} name="Submit">
  75. </div>
  76. <input type="hidden" value="{$Request.param.ref_url}" name="ref_url">
  77. </form>
  78. {if $Think.config.ds_config.qq_isuse =='1' || $Think.config.ds_config.sina_isuse =='1' || $Think.config.ds_config.weixin_isuse =='1'}
  79. <div class="partner-login clearfix">
  80. <h3>{$Think.lang.partner_account_login}</h3>
  81. <p>
  82. {if $Think.config.ds_config.qq_isuse == '1'}
  83. <a class="login_ico ico_qq" href="{:url('Api/oa_qq')}"></a>
  84. {/if}
  85. {if $Think.config.ds_config.sina_isuse == '1'}
  86. <a class="login_ico ico_weibo" href="{:url('Api/oa_sina')}"></a>
  87. {/if}
  88. {if $Think.config.ds_config.weixin_isuse == '1'}
  89. <a class="login_ico ico_weixin" onclick="ajax_form('weixin_form', '{$Think.lang.wechat_account_login}', '{:url('Connectwx/index')}', 360);" title={$Think.lang.wechat_account_login}></a>
  90. {/if}
  91. </p>
  92. </div>
  93. {/if}
  94. </div>
  95. </div>
  96. <script type="text/javascript" src="{$Think.HOME_SITE_ROOT}/js/connect_sms.js"></script>
  97. <script src="{$Think.PLUGINS_SITE_ROOT}/jquery.validate.min.js"></script>
  98. <script>
  99. $(document).ready(function() {
  100. $(".quick-login .mt li").click(function(){
  101. var index = $(this).index();
  102. $(this).parent().parent().next().find("form").hide().eq(index).show();
  103. $(this).addClass("on").siblings().removeClass("on");
  104. });
  105. $("#login_normal_inajax").validate({
  106. errorPlacement: function(error, element) {
  107. var error_dd = element.parent('dd'), error_dt = element.parent().parent().find('dt');
  108. error_dt.append(error);
  109. error_dd.addClass('error');
  110. },
  111. onkeyup: false,
  112. submitHandler: function(form) {
  113. ds_ajaxpost('login_normal_inajax');
  114. },
  115. rules: {
  116. member_name: "required",
  117. member_password: "required",
  118. {if $Think.config.ds_config.captcha_status_login == '1'}
  119. captcha_normal: {
  120. required: true,
  121. remote: {
  122. url: "{:url('Seccode/check',['reset'=>'false'])}",
  123. type: 'get',
  124. data: {
  125. captcha: function() {
  126. return $('#captcha_normal_inajax').val();
  127. }
  128. },
  129. complete: function(data) {
  130. if (data.responseText == 'false') {
  131. document.getElementById('codeimage_inajax').src = "{:url('Seccode/makecode')}"+"?" + new Date().getTime();
  132. }
  133. }
  134. }
  135. }
  136. {/if}
  137. },
  138. messages: {
  139. member_name: '<i class="iconfont">&#xe73b;</i>{$Think.lang.user_name_required}',
  140. member_password: '<i class="iconfont">&#xe73b;</i>{$Think.lang.password_required}',
  141. {if $Think.config.ds_config.captcha_status_login == '1'}
  142. captcha_normal: {
  143. required: '<i class="iconfont">&#xe73b;</i>{$Think.lang.verification_code_required}',
  144. remote: '<i class="iconfont">&#xe73b;</i>{$Think.lang.login_usersave_wrong_code}'
  145. }
  146. {/if}
  147. }
  148. });
  149. });
  150. </script>
  151. {if $Think.config.ds_config.sms_login == 1}
  152. <script type="text/javascript" src="{$Think.HOME_SITE_ROOT}/js/connect_sms.js"></script>
  153. <script>
  154. $(function () {
  155. $("#login_mobile_inajax").validate({
  156. errorPlacement: function (error, element) {
  157. var error_dd = element.parent('dd'), error_dt = element.parent().parent().find('dt');
  158. error_dt.append(error);
  159. error_dd.addClass('error');
  160. },
  161. success: function (label) {
  162. label.parents('.text-area:first').removeClass('error').find('label').remove();
  163. },
  164. submitHandler:function(form){
  165. ds_ajaxpost('login_mobile_inajax');
  166. },
  167. onkeyup: false,
  168. rules: {
  169. sms_mobile: {
  170. required: true,
  171. number:true,
  172. rangelength:[11,11]
  173. },
  174. sms_captcha: {
  175. required: true,
  176. rangelength:[6,6]
  177. }
  178. {if $Think.config.ds_config.captcha_status_login == '1'},
  179. captcha_mobile: {
  180. required: true,
  181. remote: {
  182. url: "{:url('Seccode/check',['reset'=>'false'])}",
  183. type: 'get',
  184. data: {
  185. captcha: function () {
  186. return $('#captcha_mobile_inajax').val();
  187. }
  188. },
  189. complete: function (data) {
  190. if (data.responseText == 'false') {
  191. document.getElementById('sms_codeimage_inajax').src = "{:url('Seccode/makecode')}" +"?" + new Date().getTime();
  192. }
  193. }
  194. }
  195. }
  196. {/if}
  197. },
  198. messages: {
  199. sms_mobile: {
  200. required: '<i class="iconfont">&#xe73b;</i>{$Think.lang.login_correct_phone}',
  201. number: '<i class="iconfont">&#xe73b;</i>{$Think.lang.login_correct_phone}',
  202. rangelength:'<i class="iconfont">&#xe73b;</i>{$Think.lang.login_correct_phone}'
  203. },
  204. sms_captcha: {
  205. required: '<i class="iconfont">&#xe73b;</i>{$Think.lang.login_sms_dynamic_code}',
  206. rangelength: '<i class="iconfont">&#xe73b;</i>{$Think.lang.login_sms_dynamic_code}'
  207. }
  208. {if $Think.config.ds_config.captcha_status_login == '1'},
  209. captcha_mobile: {
  210. required: '<i class="iconfont">&#xe73b;</i>{$Think.lang.verification_code_required}',
  211. remote: '<i class="iconfont">&#xe73b;</i>{$Think.lang.login_usersave_wrong_code}'
  212. }
  213. {/if}
  214. }
  215. });
  216. });
  217. </script>
  218. {/if}