회원가입수정 폼에서 onbur function이 작동을 잘 안합니다.
본문
회원가입수정폼에서 mb_1이란 필드값을 이용해 면허번호가 중복이 안되고, 숫자로 되게 할려고 합니다.
그런데 아래와 같이 제가 할수 있는대로 다 해봤는데 안됩니다.
테스트해보니 bbs/ajax.mb_1.php로 $_POST['mb_1']이 넘어오지 않습니다.
고진선처 부탁드립니다.
>>> skin/member/basic/register_form.skin.php
<th scope="row"><label for="reg_mb_1">면허번호<strong class="sound_only">필수</strong></label></th>
<td>
<span class="frm_info">숫자만 입력 가능.</span>
<input type="text" name="mb_1" value="<?php echo $member['mb_1'] ?>" id="reg_mb_1" <?php echo $required ?> <?php echo $readonly ?> class="frm_input minlength_3" maxlength="20" onblur="mb_1_check();">
<span id="msg_mb_1"></span>
</td>
...
function mb_1_check() {
var msg = reg_mb_1_check();
if (msg) {
$("#msg_mb_1").text(msg);
$("#reg_mb_1").select();
} else
$("#msg_mb_1").text("");
}
...</script>
>>> js/jquery.register_form.js
var reg_mb_1_check = function() {
var result = "";
$.ajax({
type: "POST",
url: g5_bbs_url+"/ajax.mb_1.php",
data: {
"reg_mb_1": $("#reg_mb_1").val(),
"reg_mb_id": encodeURIComponent($("#reg_mb_id").val())
},
cache: false,
async: false,
success: function(data) {
result = data;
}
});
return result;
}
>>> bbs/ajax.mb_1.php
<?php
include_once('./_common.php');
include_once(G5_LIB_PATH.'/register.lib.php');
$mb_1 = escape_trim($_POST['reg_1']);
$mb_id = escape_trim($_POST['reg_mb_id']);
if ($msg = valid_mb_1($mb_1)) die($msg);
if ($msg = exist_mb_1($mb_1, $mb_id)) die($msg);
?>
>>> lib/register.lib.php
function valid_mb_1($reg_mb_1)
{
if (!preg_match("/^[^0][0-9]{2,5}$/", $reg_mb_1))
return "면허번호가 형식에 맞지 않습니다.";
else
return "";
}
function exist_mb_1($reg_mb_1, $reg_mb_id)
{
global $g5;
$row = sql_fetch(" select count(*) as cnt from `{$g5['member_table']}` where mb_1 = '$reg_mb_1' and mb_id <> '$reg_mb_id' ");
if ($row['cnt'])
return "이미 사용중인 면허번호입니다.";
else
return "";
}
===
그런데 아래와 같이 제가 할수 있는대로 다 해봤는데 안됩니다.
테스트해보니 bbs/ajax.mb_1.php로 $_POST['mb_1']이 넘어오지 않습니다.
고진선처 부탁드립니다.
>>> skin/member/basic/register_form.skin.php
<th scope="row"><label for="reg_mb_1">면허번호<strong class="sound_only">필수</strong></label></th>
<td>
<span class="frm_info">숫자만 입력 가능.</span>
<input type="text" name="mb_1" value="<?php echo $member['mb_1'] ?>" id="reg_mb_1" <?php echo $required ?> <?php echo $readonly ?> class="frm_input minlength_3" maxlength="20" onblur="mb_1_check();">
<span id="msg_mb_1"></span>
</td>
...
function mb_1_check() {
var msg = reg_mb_1_check();
if (msg) {
$("#msg_mb_1").text(msg);
$("#reg_mb_1").select();
} else
$("#msg_mb_1").text("");
}
...</script>
>>> js/jquery.register_form.js
var reg_mb_1_check = function() {
var result = "";
$.ajax({
type: "POST",
url: g5_bbs_url+"/ajax.mb_1.php",
data: {
"reg_mb_1": $("#reg_mb_1").val(),
"reg_mb_id": encodeURIComponent($("#reg_mb_id").val())
},
cache: false,
async: false,
success: function(data) {
result = data;
}
});
return result;
}
>>> bbs/ajax.mb_1.php
<?php
include_once('./_common.php');
include_once(G5_LIB_PATH.'/register.lib.php');
$mb_1 = escape_trim($_POST['reg_1']);
$mb_id = escape_trim($_POST['reg_mb_id']);
if ($msg = valid_mb_1($mb_1)) die($msg);
if ($msg = exist_mb_1($mb_1, $mb_id)) die($msg);
?>
>>> lib/register.lib.php
function valid_mb_1($reg_mb_1)
{
if (!preg_match("/^[^0][0-9]{2,5}$/", $reg_mb_1))
return "면허번호가 형식에 맞지 않습니다.";
else
return "";
}
function exist_mb_1($reg_mb_1, $reg_mb_id)
{
global $g5;
$row = sql_fetch(" select count(*) as cnt from `{$g5['member_table']}` where mb_1 = '$reg_mb_1' and mb_id <> '$reg_mb_id' ");
if ($row['cnt'])
return "이미 사용중인 면허번호입니다.";
else
return "";
}
===
답변 1
"reg_mb_1": $("#reg_mb_1").val(), 라고 적어주셨는데..
$mb_1 = escape_trim($_POST['reg_1']); 는 reg_1 으로 받고 있네요.
$_POST['reg_mb_1'] 으로 수정해야할 듯 합니다.
$mb_1 = escape_trim($_POST['reg_1']); 는 reg_1 으로 받고 있네요.
$_POST['reg_mb_1'] 으로 수정해야할 듯 합니다.
답변을 작성하시기 전에 로그인 해주세요.