채택완료

문의드립니다.

2019-12-30 (월) 07:20:30 3,602

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

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

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

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 포인트
2019-12-30 (월) 08:22:46

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;

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

2019-12-30 (월) 08:54:10

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

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