submit 후 해당 input 초기화 어떻게 해야되나요?
본문
안녕하세요.
<input type="text">
<button></button>
이렇게 만약.. text 박스에 글씨를 쓰고 버튼을 누르면 폼액션 주소로 전송을 하는데
text 박스에 작성했던 글이 그대로 남아있는데 전송 후 text박스 초기화 하는방법좀 가르쳐주세요~
초기화 버튼 눌러서 초기화 하는거 말고 버튼 누르면 자동으로 전송 후 초기화 되는 방법을 찾고 있어요
답변 4
원래 submit이 동작되면 페이지가 바뀌는 이벤트이기때문에 기존에 있던 페이지에 처리해줄게 없습니다.
커스텀하여 페이지 이동을 막았거나 ajax로 사용하고 계신듯 한데
해당 이벤트가 발생할 때
jquery기준으로
$('인풋박스명').val('');
을 하시면 초기화 됩니다.
전송후 페이지가 이동하면서 입력란은 초기화될텐데요?
아이프레임 들렸다가 돌아가는 방법으로...
<style type="text/css">
.ifframe {position:absolute;width:1px;height:1px;top:-5000px;left:-5000px;z-index:10}
</style>
<form name="폼이름" method="post" action="저장파일 주소" target="rootFrame">
<input id="아이디" type="text">
</form>
<iframe id="rootFrame" name="rootFrame" height="0" width="0" frame scrolling="no" class="ifframe"></iframe>
입력 저장하는 파일 맨하단
<script>parent.document.getElementById('#id').value='';</script>
초기화가 안되는걸로 봐선 submit 액션을 프레임이나 별도창으로 준것 같군요.
별도창도 말이 없으시니. 아닌것 같고.
그럼... 프레임으로 보내는 것인데...
이것 초기화 >> 리프레시 하면 됩니다. >> location.reload();
그런데 리프레시하면 프레임도 실행이 멈추기 때문에 원하는 액션을 취할수 없어요.
방법은
액션을 받은 프레임에서 요청사항을 다 처리하고
탑프레임(혹은 부모창) 새로고침을 하면 됩니다.
프레임일 경우 >> parent.document.location.reload()
새창일 경우 >> opener.location.reload();