회원가입시 아이디를 넣으면 입력창 옆에 (최소3자이상 입력하세요,사용하셔도 좋은 아이디입니다,이미 사용중인 아이디 입니다.) 등의 메세지가 뜨잖아요.
그것처럼 여분필드의 값을 체크 하려고 하는데 아무리 아작스를 집어넣어도 옆에 메세지가 아예 안뜹니다.
----write.skin.php----
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
<script type="text/javascript" src="<?=$board_skin_path?>/ajax_wr_5_form.jquery.js"></script>
<tr>
<td class=write_head>wr_5</td>
<td>
<input type="text" id="reg_wr_5" name="wr_5" itemname="제목" value="<?=$write[wr_5];?>" <? if ($w=='u') { echo "readonly style='background-color:#dddddd;'"; } ?>
<? if ($w=='') { echo "onblur='reg_wr_5_check();'"; } ?> size="12" maxlength="12" /><span id="msg_wr_5"></span>
</td></tr>
----ajax_wr_5_form.jquery.js----
var reg_wr_5_check = function() {
$.ajax({
type: 'POST',
url: _skin_path+'/ajax_wr_5_check.php',
data: {
'reg_wr_5': unescape($('#reg_wr_5').val()),
'chk_wr_5': unescape($('#chk_wr_5').val())
},
cache: false,
async: false,
success: function(result) {
var msg = $('#msg_wr_5');
switch(result) {
case '100' : msg.html('중복된 제목이 있습니다.').css('color', 'red'); break;
case '000' : msg.html('중복된 제목이 없습니다.').css('color', 'blue'); break;
case '120' : msg.html('제목을 입력하세요.').css('color', 'red'); break;
default : alert( '잘못된 접근입니다.\n\n' + result ); break;
}
$('#wr_5_enabled').val(result);
}
});
}
----ajax_wr_5_check.php----
<?
include_once("_common.php");
// echo "한글"로 출력하지 않는 이유는 Ajax 는 euc_kr 에서 한글을 제대로 인식하지 못하기 때문
// 여기에서 영문으로 echo 하여 Request 된 값을 Javascript 에서 한글로 메세지를 출력함
if (preg_match("/[^0-9a-z_]+/i", $reg_wr_5)) {
echo "110"; // 유효하지 않은 회원아이디
} else if (strlen($reg_wr_5) < 3) {
echo "120"; // 3보다 작은 회원아이디
} else {
$row = sql_fetch(" select count(*) as cnt from $g4_write_table_notice where wr_5 = '$reg_wr_5' ");
if ($row[cnt]) {
echo "130"; // 이미 존재하는 회원아이디
} else {
if (preg_match("/[\,]?{$reg_wr_5}/i", $config[cf_prohibit_id]))
echo "140"; // 예약어로 금지된 회원아이디
else
echo "000"; // 정상
}
}
?>
--------------------------------
옆에 아무 메세지라도 나오면 뭔가 고쳐볼텐데,
아무것도 나오지 않으니 뭐가 문제인지 모르겠네요.
에러메세지라도 나오면 좋으련만 ㅠ.ㅠ
고수님들 한번만 봐주세요~
그것처럼 여분필드의 값을 체크 하려고 하는데 아무리 아작스를 집어넣어도 옆에 메세지가 아예 안뜹니다.
----write.skin.php----
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
<script type="text/javascript" src="<?=$board_skin_path?>/ajax_wr_5_form.jquery.js"></script>
<tr>
<td class=write_head>wr_5</td>
<td>
<input type="text" id="reg_wr_5" name="wr_5" itemname="제목" value="<?=$write[wr_5];?>" <? if ($w=='u') { echo "readonly style='background-color:#dddddd;'"; } ?>
<? if ($w=='') { echo "onblur='reg_wr_5_check();'"; } ?> size="12" maxlength="12" /><span id="msg_wr_5"></span>
</td></tr>
----ajax_wr_5_form.jquery.js----
var reg_wr_5_check = function() {
$.ajax({
type: 'POST',
url: _skin_path+'/ajax_wr_5_check.php',
data: {
'reg_wr_5': unescape($('#reg_wr_5').val()),
'chk_wr_5': unescape($('#chk_wr_5').val())
},
cache: false,
async: false,
success: function(result) {
var msg = $('#msg_wr_5');
switch(result) {
case '100' : msg.html('중복된 제목이 있습니다.').css('color', 'red'); break;
case '000' : msg.html('중복된 제목이 없습니다.').css('color', 'blue'); break;
case '120' : msg.html('제목을 입력하세요.').css('color', 'red'); break;
default : alert( '잘못된 접근입니다.\n\n' + result ); break;
}
$('#wr_5_enabled').val(result);
}
});
}
----ajax_wr_5_check.php----
<?
include_once("_common.php");
// echo "한글"로 출력하지 않는 이유는 Ajax 는 euc_kr 에서 한글을 제대로 인식하지 못하기 때문
// 여기에서 영문으로 echo 하여 Request 된 값을 Javascript 에서 한글로 메세지를 출력함
if (preg_match("/[^0-9a-z_]+/i", $reg_wr_5)) {
echo "110"; // 유효하지 않은 회원아이디
} else if (strlen($reg_wr_5) < 3) {
echo "120"; // 3보다 작은 회원아이디
} else {
$row = sql_fetch(" select count(*) as cnt from $g4_write_table_notice where wr_5 = '$reg_wr_5' ");
if ($row[cnt]) {
echo "130"; // 이미 존재하는 회원아이디
} else {
if (preg_match("/[\,]?{$reg_wr_5}/i", $config[cf_prohibit_id]))
echo "140"; // 예약어로 금지된 회원아이디
else
echo "000"; // 정상
}
}
?>
--------------------------------
옆에 아무 메세지라도 나오면 뭔가 고쳐볼텐데,
아무것도 나오지 않으니 뭐가 문제인지 모르겠네요.
에러메세지라도 나오면 좋으련만 ㅠ.ㅠ
고수님들 한번만 봐주세요~
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 2개
감사합니다.