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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
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>

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

회원로그인

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