테스트 사이트 - 개발 중인 베타 버전입니다

댓글 저장 후 입력된 값이 초기화 되지 않는데요(IE에서만 정상적으로 초기화됨) 채택완료

더블피디 9년 전 조회 3,590

 

일반적인 댓글 쓰기입니다. 

 

IE브라우져에서는 글 입력 후 등록 버튼을 누르면 입력된 저장되면서 없어지는데,

나머지 크롬, 사파리, 모바일브라우져 등에서는 계속 남아있어서

계속 등록 버튼을 눌러 같은 글이 여러번 등록되는 케이스가 나와서..

 

왜 표준 브라우져에서는 초기화 되지 않을까요?

 

</p><p>  echo '</p><p>  <div class="replywrite comment_write"></p><p>    <form id="fcomment'.$i.'"></p><p>      <input type="hidden" name="mode" value="<span style="background-color: rgb(255, 167, 0); color: rgb(255, 255, 255);">signcomment</span>"></p><p>      <input type="hidden" name="wr_id" value="'.$pshow[wr_id].'"></p><p>      <input type="hidden" name="showbox" value="show_comment_box'.$i.'">               </p><p>      </p><p>      <p>댓글쓰기</p></p><p>      <textarea id="wr_content'.$i.'" name="wr_content" required class="required"></textarea>';</p><p> </p><p>        if($is_member) {</p><p>          echo '<button type="button" onclick="check_comment'.$i.'()">등록</button>';</p><p>        } else {</p><p>          echo '<button type="button" onclick="alert(\'회원전용입니다. 로그인후 사용하세요.\');">등록</button>'; </p><p>        }</p><p>    echo '</form> ';</p><p> </p><p>    echo '</p><p>    <script></p><p>      function check_comment'.$i.'() {</p><p>        if(!$("#wr_content'.$i.'").val()) {</p><p>          alert(\'댓글을 작성하신후 등록하세요.\'); </p><p>            return false;</p><p>        }</p><p>        <span style="background-color: rgb(255, 0, 0);">ajax_form</span>("fcomment'.$i.'");</p><p>        </p><p>      }</p><p>    </script>                                  </p><p>    </div> ';</p><p> </p><p> </p><p> </p><p>function <span style="background-color: rgb(255, 0, 0); color: rgb(255, 255, 255);">ajax_form</span>(formid) {</p><p> </p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>  $.ajax ({</p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>    type:"POST",</p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>    url:"savedata.php",</p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>    data:$('#'+formid).serialize(),</p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>    success:function(html) {</p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>      var htmls = html.split("[:]");</p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>      if(htmls[0] == "signcomment") {</p><p>   <span class="Apple-tab-span" style="white-space:pre">	</span>          $('#'+htmls[1]).html(htmls[2]);</p><p>   <span class="Apple-tab-span" style="white-space:pre">	</span>          $('.<span style="background-color: rgb(255, 167, 0);">comment_write</span> textarea').text('');</p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>      } else if(htmls[0] == "signreview") {</p><p>   <span class="Apple-tab-span" style="white-space:pre">	</span>          $('#'+htmls[1]).html(htmls[2]);</p><p>   <span class="Apple-tab-span" style="white-space:pre">	</span>          $('.comment_write textarea').text('');</p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>      } else if(htmls[0] == "warn") {</p><p>      <span class="Apple-tab-span" style="white-space:pre">		</span>      alert(htmls[1]);</p><p>          }<span class="Apple-tab-span" style="white-space:pre">	</span>      </p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>    },</p><p>       error: function(xhr, option, error){</p><p>             alert(xhr.status); </p><p>             alert(error); </p><p>       }</p><p>  <span class="Apple-tab-span" style="white-space:pre">	</span>  });</p><p>}</p><p> </p><p>

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

답변 1개

채택된 답변
+20 포인트

<form id="

이 부분에 $i가 붙는 건가요?

form이 한 개가 아니란 소리네요.

거기다가 호출하는 함수도 여러 갠 거 같구요.

실제 html 페이지가 어떻게 나오는지 모르겠지만

 

ajax_form("fcomment'.$i.'");

$("form").each(function() {
   $(this)[0].reset();
});

이렇게 넣어 보세요. 

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

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

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

로그인