form 2개를 submit 버튼 하나로 하려면?

form 2개를 submit 버튼 하나로 하려면?

QA

form 2개를 submit 버튼 하나로 하려면?

본문

아래는 submit 버튼 하나로 form 2개를 처리하는 방법인데요.

작동은 잘 되지만, 버튼을 누를때마다 새창이 떠서 작동이 됩니다.

target 때문인 것 같은데, target이 없으면 또 작동이 안되네요.

해결방법이 없을까요? 도움 부탁드려요~

 

<form name="form" method="post" action="$PHP_SELF" target="1">
</form>
<form name="form2" method="post" action="abc.php" target="2">
</form>
<input type="button" onClick="javascript:All_submit()" value="저장">

 

<script>
function All_submit()
{
   document.form.sumit();
   document.form2.sumit();
}
</script>

이 질문에 댓글 쓰기 :

답변 6

target이 없으면 현재페이지가 이동되어버리는데 두번째폼이 submit될 수가 없죠

첫번째는 ajax로 처리한 후

두번째폼이 submit되게 해야겠네요

균이님 답변 감사합니다.
아래처럼 하는 것이 맞는가요? 작동을 안해서 문의 드려요.
도움 부탁드립니다.ㅜㅜ

<form id="step_1" method="post" action="all_update.php">
</form>
<form id="step_2" method="post" action="2.php">
</form>

<a onclick="javascript:All_submit()" class="btn_submit">저장</a>

<?
$all_action_url = https_url(G5_BBS_DIR)."/all_update.php";
?>
<script>
function All_submit() {
  form = $('#step_1');
      $.ajax({
        type: "POST",
        url: form.attr('<?php echo $all_action_url; ?>'),
        data: form.serialize(),
      });
  document.getElementById('step_2').submit();
}
</script>

좋은 방법은 아닙니다...

서브밋을하는 첫 페이지에서

2번째 update를 처리하는 페이지 로직까지 한번에 처리하시는게 어떨까요..

<form name="form1" method="post" action="$PHP_SELF">
    <!-- 1 필드들 -->
</form>
<form name="form2" method="post" action="abc.php">
    <!-- 2 필드들 -->
</form>
<input type="button" onClick="javascript:All_submit()" value="저장">

<script>
function All_submit() {
   document.form1.submit();
   document.form2.submit();
}
</script>
이렇게 해보세요.

좋은 방법은 아닌 것 같습니다.
해보지는 않았지만, target을 2번째 폼에만 주면 실행될 것 같기도 한데,

그것보다는 ajax를 이용하신다든가 하는 다른 방법을 추천 드리고 싶네요.

GPT 대답내용입니다. 

 

<form name="form" method="post" action="$PHP_SELF" target="1">
  <!-- Your form fields go here -->
</form>

<form name="form2" method="post" action="abc.php" target="2">
  <!-- Your form2 fields go here -->
</form>

<input type="button" onClick="submitForm('form')" value="저장1">
<input type="button" onClick="submitForm('form2')" value="저장2">

<script>
function submitForm(formName) {
  if (formName === 'form') {
    window.location.href = '<?php echo $PHP_SELF;?>'; // Redirect to abc.php for form2
  }
  
  if (formName === 'form2') {
    window.location.href = 'abc.php'; // Redirect to abc.php for form2
  }
}
</script>
 

ajax 로 처리하는게 베스트긴 한데

submit 후 보여줄 페이지가 없는거라면 

숨겨진 iframe 을 두개생성하시고

form 에서 target 을 iframe 으로 지정해서 submit 해보세요.

 

<iframe name='iframe1' style='display:none;'></iframe>
<iframe name='iframe2' style='display:none;'></iframe>

답변을 작성하시기 전에 로그인 해주세요.
전체 150
QA 내용 검색

회원로그인

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