문의드립니다. 채택완료

폼양식에서 특정내용이 중복이 되면 경고창을 뛰우고 있는데

경고창 확인을 누르면 입력했던 내용이 모두 사라져 다시 입력을 해야 합니다.

경고창을 닫아도 입력한 내용이 지워지지 않게 할수는 없나요?

 

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개

채택된 답변
+20 포인트

ajax를 사용하는 수밖에 없을것 같네요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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";

}

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

alert('중복되는 이름입니다. 다른 이름을 사용해주세요.');

document.MlangForm_Info.필드값.value="중복한값";

 

ex) document.MlangForm_Info.필드값.value=document.MlangForm_Info.필드값.value;

 

검사한 값을 다시 던져주면 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

그누보드에서 만든 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요청으로 비동기처리 하셔야될거같습니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고