크롬80버전 결제 이슈, 영카트5 주요패치 확인!

form 1개에서 버튼 2개

그누보드5
영카트5
매뉴얼
Q & A
제작의뢰
컨텐츠몰
부가서비스
소모임
커뮤니티
form 1개에서 버튼 2개

QA

사수가 없어도 할 수 있다! 초보자를 위한 그누보드 FAQ

form 1개에서 버튼 2개

본문

<form name="fs" id="fs" method="post" onsubmit="return fs_submit(this);" enctype="multipart/form-data">

<input type="submit" class="btn btn_submit" value="수정하기">
<button type="button" class="btn_preview" onclick="javascript:fs_serviceout();">제출하기</button>

</form>

<script>

function fservice_submit(f) {
    f.action = "./serviceform_update.php";
    return true;
}

function fservice_serviceout() {
    alert("신청하신 내역이 접수되었습니다.");
    location.href = "./serviceform_update.php?w=o&im_idx=<?=$im_idx?>";
    return true;
}
</script>

 

 

위와 같이 1개의 form 안에 sumnit 버튼은 입력된 내용이 저장이 되면서 수정이 됩니다.

제출하기 버튼을 눌렀을때에는 state항목내용이 변경되는 형식으로 사용중인데요..

 

이 2개의 버튼들은 각각 update.php 파일에서

$w == "u" 와 $w == "o"를 타고 들어가게 해둔 상태입니다.

이때 특정필드 A값이 2개 버튼 각가 누를때 DB에 저장이 되게 하고 싶은데요..

 

 

 

fservice_submit 버튼은 update.php 파일에서 $w == "u"를 타고 들어가면서

A값이 DB에 저장이 잘되는데

 

fservice_serviceout 버튼을 update.php 파일에서 클릭하면 $w == "o"를 타고 들어가서

A값이 DB에 저장이 되어야 하는데 저장이 안됩니다.ㅠㅠ

 

즉, 수정하기 버튼을 눌렀을때에는 A값이 저장잘됨

제출하기 눌렀을때에도 A값이 DB에 저장되는 상태에서 작동을 해야 하는데

제출하기 버튼을 누르면 A값이 저장이 안되어버립니다.

fservice_serviceout 버튼도 submit기능이 들어가야 하는거 같은데

이럴 경우에는 어떻게 하면 2개의 버튼 모두 DB값이 저장되는 형식으로 바꿀 수 있을까요??


 

이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 1

폴라베어님의 답변

 location.href = "./serviceform_update.php?w=o&im_idx=<?=$im_idx?>"; 로 리다이렉션하면 당연히 폼값은 안넘어가는게 정상입니다.

폼에 <input type="hidden" name="im_idx" value="<?=$im_idx?>"> 넣어주시고 자바스크립트는 아래처럼 수정하시면 되실것 같습니다.

 

function fservice_serviceout() {

    document.getElementByName("w").value = "o";
    document.getElementById('fs').submit();
    return true;
}
</script>

주소복사
답변의 댓글
위드컴님의 댓글
답변감사합니다!!
답변해주신 소스로 수정해보니까
제출하기 버튼눌러도 아무반응이 없습니다.
콘솔에서는
개체가 'getElementByName' 속성이나 메서드를 지원하지 않습니다.
와 같은 오류가 나네요ㅠㅠ 왜 이러는걸까요???ㅠㅠ
폴라베어님의 댓글
함수명이 잘못됐네요
아래 같이 하시면 되실꺼예요

function fs_serviceout() {
var f = document.getElementById('fs');
var x = document.getElementsByName("w")[0].value = "o";
// f.action = "./form.php";
f.submit();
return true;
}
답변을 작성하시기 전에 로그인 해주세요.
전체 41,865
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

(주)에스아이알소프트 (06212) 서울시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT