form 1개에서 버튼 2개 채택완료
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; }
위와 같이 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?>"; 로 리다이렉션하면 당연히 폼값은 안넘어가는게 정상입니다.
폼에 "> 넣어주시고 자바스크립트는 아래처럼 수정하시면 되실것 같습니다.
function fservice_serviceout() {
document.getElementByName("w").value = "o"; document.getElementById('fs').submit(); return true; }
답변에 대한 댓글 2개
아래 같이 하시면 되실꺼예요
function fs_serviceout() {
var f = document.getElementById('fs');
var x = document.getElementsByName("w")[0].value = "o";
// f.action = "./form.php";
f.submit();
return true;
}
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
답변해주신 소스로 수정해보니까
제출하기 버튼눌러도 아무반응이 없습니다.
콘솔에서는
개체가 'getElementByName' 속성이나 메서드를 지원하지 않습니다.
와 같은 오류가 나네요ㅠㅠ 왜 이러는걸까요???ㅠㅠ