문의드립니다.
본문
폼양식에서 특정내용이 중복이 되면 경고창을 뛰우고 있는데
경고창 확인을 누르면 입력했던 내용이 모두 사라져 다시 입력을 해야 합니다.
경고창을 닫아도 입력한 내용이 지워지지 않게 할수는 없나요?
write_update.head.skin.php
$acount = sql_fetch("select count(wr_id) as cnt from $write_table where wr_3='$wr_3'");
if($acount[cnt] >=1){
alert('중복되는 이름입니다. 다른 이름을 사용해주세요.');
}
답변 4
ajax를 사용하는 수밖에 없을것 같네요
그누보드에서 만든 alert 함수는 뒤에 location.href 자바스크립트가 포함되어있는걸로 알고있습니다.
php alert 함수를 제거하시고
$acount = sql_fetch("select count(wr_id) as cnt from $write_table where wr_3='$wr_3'");
if($acount[cnt] >=1){ ?>
<script>alert("중복되는 이름입니다. 다른이름을 사용해주세요.")</script>
<?php
}
하시거나 씨메이크님처럼 확인요청하는 결과값을 가지고있는 페이지로 ajax요청으로 비동기처리 하셔야될거같습니다
alert('중복되는 이름입니다. 다른 이름을 사용해주세요.');
document.MlangForm_Info.필드값.value="중복한값";
ex) document.MlangForm_Info.필드값.value=document.MlangForm_Info.필드값.value;
검사한 값을 다시 던져주면 됩니다.
javascript 에서 form 체크를 하는 곳에서
$.post('경로', {'넘길변수명':가져갈변수값}, function(변수rtn){
if(변수rtn == "N"){
alert("중복되는 이름입니다. 다른이름을 사용해주세요.");
return false;
}
});
넘길 변수명 : wr_3
경로.php
$wr_3 = $_POST['wr_3'];
$acount = sql_fetch("select count(wr_id) as cnt from $write_table where wr_3='$wr_3'");
if($acount[cnt] >=1){
echo "N";
}