그누보드 스킨 alert
본문
회원가입을 할때 사용자가 내용을 입력하고 나서
회원아이디가 중복값 이거나 다른이유로 회원가입을 방지할때 alert 이 뜨고나서 페이지가 새로고침됩니다
새로고침하지 않고 페이지 안에서만 alert 이 나오고 input text 안에 사용자가 입력했던 내용은 그대로 두고 싶은데요 자바스크립트를 통째로 수정해도 안되고 form 에 onsubmit 을 아예 없애거나 수정해도 안됩니다
bbs 폴더에 있는 스킨 쪽으로 넘어갑니다 도움 좀 받고싶습니다
<form id="fregisterform" name="fregisterform" action="/bbs/register_form_update.php" onsubmit="return fregisterform_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
<tbody>
<tr class="">
<th scope="row">아이디 <img src="/images/ico_required.png" alt="필수"></th>
<td>
<input id="reg_mb_id" name="mb_id" class="inputTypeText" placeholder="" value="<?php echo $member['mb_id'] ?>" type="text" <?php echo $required ?>>
<span class="text-info">영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요.</span>
<span id="msg_mb_id"></span>
</td>
</tr>
<tr class="">
<th scope="row">비밀번호 <img src="/images/ico_required.png" alt="필수"></th>
<td>
<input id="reg_mb_password" name="mb_password" maxlength="20" <?php echo $required ?> value="" type="password">
</td>
</tr>
<tr class="">
<th scope="row">비밀번호 확인 <img src="/images/ico_required.png" alt="필수"></th>
<td>
<input id="reg_mb_password_re" name="mb_password_re"maxlength="20" value="" type="password" <?php echo $required ?> >
</td>
</tr>
<tr class="">
<th scope="row">이름 <img src="/images/ico_required.png" alt="필수"></th>
<td>
<input type="text" name="mb_name" id="reg_mb_name" maxlength="20" value="<?php echo get_text($member['mb_name']) ?>" <?php echo $readonly; ?> <?php echo $required ?> >
</td>
</tr>
<tr class="">
<th scope="row">주소 <img src="/images/ico_required.png" alt="필수"></th>
<td>
<input id="reg_mb_zip" name="mb_zip" class="inputTypeText" placeholder="" readonly="readonly" maxlength="14" value="<?php echo $member['mb_zip1'].$member['mb_zip2']; ?>" type="text">
<button type="button" class="btn_frmline" onclick="win_zip('fregisterform', 'mb_zip', 'mb_addr1', 'mb_addr2', 'mb_addr3', 'mb_addr_jibeon');">주소 검색</button><br>
<br>
<input id="reg_mb_addr1" name="mb_addr1" class="inputTypeText" placeholder="" readonly="readonly" value="<?php echo get_text($member['mb_addr1']) ?>" type="text">
<span class="ml-7">기본주소</span>
<br>
<input id="reg_mb_addr2" name="mb_addr2" class="inputTypeText" placeholder="" value="<?php echo get_text($member['mb_addr2']) ?>" type="text">
<span class="ml-7"></span>
<br>
<input id="reg_mb_addr3" name="mb_addr3" class="inputTypeText" placeholder="" value="<?php echo get_text($member['mb_addr3']) ?>" type="text">
<span class="ml-7"></span>
</td>
</tr>
<tr class="">
<th scope="row">일반전화 <img src="/images/ico_required.png" class="displaynone" alt="필수"></th>
<td>
<?php if ($config['cf_use_tel']) { ?>
<label for="reg_mb_tel" class="sound_only">전화번호<?php if ($config['cf_req_tel']) { ?><strong>필수</strong><?php } ?></label>
<input type="text" name="mb_tel" value="<?php echo get_text($member['mb_tel']) ?>" id="reg_mb_tel" <?php echo $config['cf_req_tel']?"required":""; ?> class="frm_input half_input <?php echo $config['cf_req_tel']?"required":""; ?>" maxlength="20" placeholder="전화번호">
<?php } ?>
</td>
</tr>
<tr>
<th scope="row">휴대전화 <img src="/images/ico_required.png" class="" alt="필수"></th>
<td>
<?php if ($config['cf_use_hp'] || $config['cf_cert_hp']) { ?>
<label for="reg_mb_hp" class="sound_only">휴대폰번호<?php if ($config['cf_req_hp']) { ?><strong>필수</strong><?php } ?></label>
<input type="text" name="mb_hp" value="<?php echo get_text($member['mb_hp']) ?>" id="reg_mb_hp" <?php echo ($config['cf_req_hp'])?"required":""; ?> class="frm_input right_input half_input <?php echo ($config['cf_req_hp'])?"required":""; ?>" maxlength="20" placeholder="휴대폰번호">
<?php if ($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
<input type="hidden" name="old_mb_hp" value="<?php echo get_text($member['mb_hp']) ?>">
<?php } ?>
<?php } ?>
</td>
</tr>
<tr>
<th scope="row">이메일 <img src="/images/ico_required.png" alt="필수"></th>
<td>
<input type="hidden" name="old_email" value="<?php echo $member['mb_email'] ?>">
<input type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email full_input " size="70" maxlength="100" placeholder="E-mail">
<?php if ($config['cf_use_email_certify']) { ?>
<span class="frm_info">
<?php if ($w=='') { echo "E-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다."; } ?>
<?php if ($w=='u') { echo "E-mail 주소를 변경하시면 다시 인증하셔야 합니다."; } ?>
</span>
<?php } ?>
</td>
</tr>
</tbody>
</table>
</div>
<script>
$(function() {
$("#reg_zip_find").css("display", "inline-block");
<?php if($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
// 아이핀인증
$("#win_ipin_cert").click(function() {
if(!cert_confirm())
return false;
var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php";
certify_win_open('kcb-ipin', url);
return;
});
<?php } ?>
<?php if($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
// 휴대폰인증
$("#win_hp_cert").click(function() {
if(!cert_confirm())
return false;
<?php
switch($config['cf_cert_hp']) {
case 'kcb':
$cert_url = G5_OKNAME_URL.'/hpcert1.php';
$cert_type = 'kcb-hp';
break;
case 'kcp':
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
$cert_type = 'kcp-hp';
break;
case 'lg':
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
$cert_type = 'lg-hp';
break;
default:
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
echo 'return false;';
break;
}
?>
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>");
return;
});
<?php } ?>
});
// submit 최종 폼체크
function fregisterform_submit(f)
{
f=document.fregisterform;
// 회원아이디 검사
if (f.w.value == "") {
var msg = reg_mb_id_check();
if (msg) {
alert(msg);
f.mb_id.select();
return false;
}
}
if (f.w.value == "") {
if (f.mb_password.value.length < 3) {
alert("비밀번호를 3글자 이상 입력하십시오.");
f.mb_password.focus();
return false;
}
}
if (f.mb_password.value != f.mb_password_re.value) {
alert("비밀번호가 같지 않습니다.");
f.mb_password_re.focus();
return false;
}
if (f.mb_password.value.length > 0) {
if (f.mb_password_re.value.length < 3) {
alert("비밀번호를 3글자 이상 입력하십시오.");
f.mb_password_re.focus();
return false;
}
}
// 이름 검사
if (f.w.value=="") {
if (f.mb_name.value.length < 1) {
alert("이름을 입력하십시오.");
f.mb_name.focus();
return false;
}
/*
var pattern = /([^가-힣\x20])/i;
if (pattern.test(f.mb_name.value)) {
alert("이름은 한글로 입력하십시오.");
f.mb_name.select();
return false;
}
*/
}
<?php if($w == '' && $config['cf_cert_use'] && $config['cf_cert_req']) { ?>
// 본인확인 체크
if(f.cert_no.value=="") {
alert("회원가입을 위해서는 본인확인을 해주셔야 합니다.");
return false;
}
<?php } ?>
// 닉네임 검사
if ((f.w.value == "") || (f.w.value == "u" && f.mb_nick.defaultValue != f.mb_nick.value)) {
var msg = reg_mb_nick_check();
if (msg) {
alert(msg);
f.reg_mb_nick.select();
return false;
}
}
// E-mail 검사
if ((f.w.value == "") || (f.w.value == "u" && f.mb_email.defaultValue != f.mb_email.value)) {
var msg = reg_mb_email_check();
if (msg) {
alert(msg);
f.reg_mb_email.select();
return false;
}
}
<?php if (($config['cf_use_hp'] || $config['cf_cert_hp']) && $config['cf_req_hp']) { ?>
// 휴대폰번호 체크
var msg = reg_mb_hp_check();
if (msg) {
alert(msg);
f.reg_mb_hp.select();
return false;
}
<?php } ?>
if (typeof f.mb_icon != "undefined") {
if (f.mb_icon.value) {
if (!f.mb_icon.value.toLowerCase().match(/.(gif|jpe?g|png)$/i)) {
alert("회원아이콘이 이미지 파일이 아닙니다.");
f.mb_icon.focus();
return false;
}
}
}
if (typeof f.mb_img != "undefined") {
if (f.mb_img.value) {
if (!f.mb_img.value.toLowerCase().match(/.(gif|jpe?g|png)$/i)) {
alert("회원이미지가 이미지 파일이 아닙니다.");
f.mb_img.focus();
return false;
}
}
}
if (typeof(f.mb_recommend) != "undefined" && f.mb_recommend.value) {
if (f.mb_id.value == f.mb_recommend.value) {
alert("본인을 추천할 수 없습니다.");
f.mb_recommend.focus();
return false;
}
var msg = reg_mb_recommend_check();
if (msg) {
alert(msg);
f.mb_recommend.select();
return false;
}
}
if (!f.agree.checked) {
alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
f.agree.focus();
return false;
}
if (!f.agree2.checked) {
alert("개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
f.agree2.focus();
return false;
}
<?php #echo chk_captcha_js(); ?>
document.getElementById("btn_submit").disabled = "disabled";
return true;
}
jQuery(function($){
// 모두선택
$("input[name=chk_all]").click(function() {
if ($(this).prop('checked')) {
$("input[name^=agree]").prop('checked', true);
} else {
$("input[name^=agree]").prop("checked", false);
}
});
});
</script>
답변 1
그누보드의 goto_url 이 해당 게시판으로 '이동' 되게 처리되서 그렇습니다.
내용이 없을때 'history.go(-1);' 가 작동되게끔 write_update.php 를 수정하셔야 합니다.
답변을 작성하시기 전에 로그인 해주세요.