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>