|
| 1 | +<!--{include header.htm}--> |
| 2 | +<div class="width"> |
| 3 | +<!--{hook user_create_start.htm}--> |
| 4 | +<h3>用户注册</h3> |
| 5 | +<form action="?user-create.htm" method="post" id="create_form"> |
| 6 | + <input type="hidden" name="FORM_HASH" value="{FORM_HASH}" /> |
| 7 | + <input type="hidden" name="clienttime" value="" /> |
| 8 | + <!--{hook common_form_hash_after.htm}--> |
| 9 | + <dl> |
| 10 | + <dt><label for="verify_type">选择注册方式:</label></dt> |
| 11 | + <dd><select id="verify_type" name="verify_type" style="width: 250px;" tabindex="1"> |
| 12 | +<option value="email">邮箱</option> |
| 13 | +<option value="mobile">手机</option> |
| 14 | +</select></dd> |
| 15 | + <dt><label for="create_email">邮箱:</label></dt> |
| 16 | + <dd><input type="text" name="email" id="create_email" value="$user[email]" tabindex="1" style="width: 250px;" /> <span id="create_check_email"><a href="?user-login.htm">登录</a></span></dd> |
| 17 | + <dt><label for="code">验证码:</label></dt> |
| 18 | + <dd><input type="text" name="code" id="code" value="" tabindex="2" style="width: 250px;" /> <span><button type="button" id="sendcode" name="sendcode" tabindex="1">发送验证码</button></span></dd> |
| 19 | + <dt><label for="create_username">用户名:</label></dt> |
| 20 | + <dd><input type="text" name="username" id="create_username" size="24" value="$user[username]" title="请输入用户名" tabindex="2" style="width: 250px;" /> <span id="create_check_username"></span></dd> |
| 21 | + <dt><label for="create_password">密 码:</label></dt> |
| 22 | + <dd><input type="password" name="password" id="create_password" size="24" value="" title="请输入密码" tabindex="3" style="width: 250px;" /></dd> |
| 23 | + <dt><label for="create_password2">重复密码:</label></dt> |
| 24 | + <dd><input type="password" name="password2" id="create_password2" size="24" value="" title="请输入密码" tabindex="4" style="width: 250px;" /></dd> |
| 25 | + <!--{hook user_create_submit_before.htm}--> |
| 26 | + <dt></dt> |
| 27 | + <dd> |
| 28 | + <button type="submit" class="button bigblue" id="create_submit_ajax" tabindex="5">注册</button> |
| 29 | + </dd> |
| 30 | + <!--{hook user_create_submit_after.htm}--> |
| 31 | + </dl> |
| 32 | +</form> |
| 33 | + |
| 34 | +<!--{hook user_create_end.htm}--> |
| 35 | +</div> |
| 36 | +<!--{include footer.htm}--> |
| 37 | +<script type="text/javascript"> |
| 38 | + |
| 39 | + |
| 40 | +function check_username(username) { |
| 41 | + if(!username) { |
| 42 | + return false; |
| 43 | + } |
| 44 | + var username_url = urlencode(username); |
| 45 | + $.get('?user-checkname-username-'+username_url+'-ajax-1.htm', function(s) { |
| 46 | + var json = json_decode(s); |
| 47 | + if(error = json_error(json)) {alert(error); return false;} |
| 48 | + if(json.status <= 0) { |
| 49 | + $('#create_check_username').html('<span class="red">'+json.message+'<span>'); |
| 50 | + return false; |
| 51 | + } else { |
| 52 | + $('#create_check_username').html('<span class="green">'+json.message+'<span>'); |
| 53 | + return false; |
| 54 | + } |
| 55 | + }); |
| 56 | +} |
| 57 | +function check_email(email) { |
| 58 | + if(!email) { |
| 59 | + return false; |
| 60 | + } |
| 61 | + var email_url = urlencode(email); |
| 62 | + var verify_type = $('#verify_type').val(); |
| 63 | + $.get('?user-check' + verify_type + '-' + verify_type + '-'+email_url+'-ajax-1.htm', function(s) { |
| 64 | + var json = json_decode(s); |
| 65 | + if(error = json_error(json)) {alert(error); return false;} |
| 66 | + if(json.status <= 0) { |
| 67 | + $('#create_check_email').html('<span class="red">'+json.message+'<span>'); |
| 68 | + return false; |
| 69 | + } else { |
| 70 | + $('#create_check_email').html('<span class="green">'+json.message+'<span>'); |
| 71 | + return false; |
| 72 | + } |
| 73 | + }); |
| 74 | +} |
| 75 | + |
| 76 | + $('#verify_type').focus(); |
| 77 | + $('#create_form input').keyup(function(e) { |
| 78 | + //e = e || document.parentWindow.event; |
| 79 | + var e = e ? e : window.event; |
| 80 | + var kc = e.keyCode ? e.keyCode : e.charCode; |
| 81 | + if(kc == 13) { |
| 82 | + $('#create_submit_ajax').trigger('click'); |
| 83 | + } |
| 84 | + }); |
| 85 | + |
| 86 | + |
| 87 | + |
| 88 | + $('#create_email').blur(function() { |
| 89 | + check_email($('#create_email').val()); |
| 90 | + }); |
| 91 | + |
| 92 | + $('#verify_type').change(function() { |
| 93 | + $('label[for=create_email]').text($(this).find('option:selected').text()); |
| 94 | + }); |
| 95 | + |
| 96 | + $('#create_username').blur(function() { |
| 97 | + check_username($('#create_username').val()); |
| 98 | + }); |
| 99 | + |
| 100 | + $('#create_form input[name=clienttime]').val(Math.round(new Date().getTime()/1000)); |
| 101 | + |
| 102 | +$(document).on('click', 'button[name=sendcode]', function() { |
| 103 | +var _this = $(this); |
| 104 | +_this.attr('disabled', 'disabled'); |
| 105 | +var jform = _this.parents('#create_form'); |
| 106 | +var url = "?user-sendcode-ajax-1.htm"; |
| 107 | +$.ajax({ |
| 108 | + url: url, |
| 109 | + type: 'POST', |
| 110 | + cache: false, |
| 111 | + data: new FormData(jform[0]), |
| 112 | + processData: false, |
| 113 | + contentType: false |
| 114 | +}).done(function(s) { |
| 115 | + var json = json_decode(s); |
| 116 | + if(error = json_error(json)) { |
| 117 | +alert(error); |
| 118 | +$('#create_email').focus(); |
| 119 | + _this.removeAttr('disabled'); |
| 120 | +return false; |
| 121 | +} |
| 122 | + if(json.status <=0) { |
| 123 | + alert(json.message); |
| 124 | +$('#create_email').focus(); |
| 125 | + _this.removeAttr('disabled'); |
| 126 | + return false; |
| 127 | + } |
| 128 | + if(json.status == 1) { |
| 129 | + alert(json.message); |
| 130 | +$('#code').focus(); |
| 131 | +setTimeout(function() { |
| 132 | + _this.removeAttr('disabled'); |
| 133 | +}, 120000); |
| 134 | + return false; |
| 135 | + } |
| 136 | +}).fail(function(res) { |
| 137 | + _this.removeAttr('disabled'); |
| 138 | +alert('failed.' + res.statusText + ',' + res.statusCode + Object.keys(res)); |
| 139 | +}); |
| 140 | + return false; |
| 141 | + }); |
| 142 | + // hook user_create_delay_execute_js.htm |
| 143 | + |
| 144 | + // hook common_form_hash_after_js.htm |
| 145 | +</script> |
| 146 | +</body> |
| 147 | +</html> |
0 commit comments