개발 Q&A

제목 폼에서 값을 전송할때 누락되는 원인
카테고리 PHP
글쓴이 책상다리 작성시각 2017/04/12 16:25:46
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 11448   RSS

 

 <script language='javascript'>
             function submitbtn() {
                     f.submit('SendForm_id');
             }
 </script>

<form id="SendForm_id" name="" method="POST">
<input type='hidden' name="id" value="test123" >
<button onclick="submitbtn()" >요청</button>

 

그 원인이..무엇일까요.

위 예제는 실제와는 살짝 다릅니다.

여튼...요청 버튼을 누르면 저 id값이 없다고 오류 메세지가 발생합니다.

실제로 id를 찍어보면 분명 출력이 되는데도 불구하고!...

 

제가 궁금한건..form의 전송값이 누락되는 원인은 어떤게 있을까요..원인을 찾아 해결하고 싶습니다...

 다음글 유니코드 \u2028, \u2029에 대해
 이전글 회원가입시 리눅스 계정생성 및 mysql 사용자 추가 ... (6)

댓글

곰멍 / 2017/04/12 16:37:46 / 추천 0
form에 경로값인 action값이 없어서 그런 것 같습니다.
책상다리 / 2017/04/12 17:05:31 / 추천 0
곰멍님// 답변 감사합니다. action은 넣어봤는데도..다를게 없네요..ㅜ
곰멍 / 2017/04/12 17:36:05 / 추천 0
받아오는 파일에서의 변수를 어떻게 처리하셨는지 보여주시면 좋을 것 같습니다.
책상다리 / 2017/04/12 17:43:03 / 추천 0

곰멍님//답변 감사합니다. 저 test123은 예시의 값이긴 하지만 고정된 값이라 받아올 필요가 없습니다.

그래서 제가 더 답답합니다...;;

곰멍 / 2017/04/12 17:54:07 / 추천 0

function submitbtn() {
    var f = document.getElementById("SendForm_id");
    f.submit('SendForm_id');
}
로 변경하시고 

<button onclick="submitbtn()" >요청</button> 을 폼 밖으로 빼시고 시도해보시기 바랍니다.

kaido / 2017/04/13 08:56:18 / 추천 0

곰멍님 의견대로 하시면 잘 되실 것입니다.

원인은 js가 실행되기도 전에 button 이 submit 을 때려버린 겁니다.

[브라우저에 따라서 js가 먼저 실행 되는 경우도 있는데, 이 경우 조건이 맞지않아  return false을 넣는다 해도 js 실행 이후에 native submit을 때려버리는 로직이 만들어져서 어디가 잘못 되었는지 한참을 찾게 되는 경우도 생깁니다.]

그래서 가급적 click 이벤트 이후에 submit 실행 해야하는 로직이면 form 밖으로 button 을 빼시던지, 아니면 a 태그에 걸어서 사용 하시는 것이 좋습니다.