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되게 해야겠네요
답변에 대한 댓글 3개
type: "POST",
url: form.attr('<?php echo $all_action_url; ?>'),
data: form.serialize(),
success: function(data){ document.form2.sumit(); }
});
댓글을 작성하려면 로그인이 필요합니다.
ajax 로 처리하는게 베스트긴 한데
submit 후 보여줄 페이지가 없는거라면
숨겨진 iframe 을 두개생성하시고
form 에서 target 을 iframe 으로 지정해서 submit 해보세요.
<iframe name='iframe1' style='display:none;'></iframe>
<iframe name='iframe2' style='display:none;'></iframe>
댓글을 작성하려면 로그인이 필요합니다.
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>
댓글을 작성하려면 로그인이 필요합니다.
좋은 방법은 아닌 것 같습니다.
해보지는 않았지만, target을 2번째 폼에만 주면 실행될 것 같기도 한데,
그것보다는 ajax를 이용하신다든가 하는 다른 방법을 추천 드리고 싶네요.
댓글을 작성하려면 로그인이 필요합니다.
<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>
이렇게 해보세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
아래처럼 하는 것이 맞는가요? 작동을 안해서 문의 드려요.
도움 부탁드립니다.ㅜㅜ
<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>