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되게 해야겠네요
좋은 방법은 아닙니다...
서브밋을하는 첫 페이지에서
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>