내용보기(view)페이지에서 수정이가능하도록 만든 form과 다른 링크를 갖고있는 submit을 동시에 실행..

내용보기(view)페이지에서 수정이가능하도록 만든 form과 다른 링크를 갖고있는 submit을 동시에 실행..

QA

내용보기(view)페이지에서 수정이가능하도록 만든 form과 다른 링크를 갖고있는 submit을 동시에 실행..

본문

제목이 길죠...

내용보기(view)페이지에서 수정이가능하도록 만든 form과 다른 링크를 갖고있는 submit을 동시에 실행....

 

view 페이지에서 

 

if($_POST[check] == "ok"){
sql_query(" update $write_table set wr_22='$_POST[wr_22]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_23='$_POST[wr_23]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_24='$_POST[wr_24]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_25='$_POST[wr_25]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_26='$_POST[wr_26]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_27='$_POST[wr_27]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_28='$_POST[wr_28]' where wr_id='$wr_id' ");
goto_url($_SERVER[REQUEST_URI]);
};

 

을 이용하여

form의 input을 바로 수정이 가능하도록 했습니다.

<form method="POST" name="form" method="post" >
       <form name="wr_22" method="POST" style="padding:0; margin:0;"> 
                <input type="hidden" name="bo_table" value="<?php echo $bo_table; ?>"> 
                <input type="hidden" name="page" value="<?php echo $page; ?>"> 
                <input type="hidden" name="wr_id" value="<?php echo $wr_id; ?>"> 
                <input type="hidden" name="location" value="next">

<input style="width: 250px; height: 30px; border-radius: 5px; margin-bottom: 5px;" type="text" name="wr_22" id="wr_22" value="고객"<?php if($view["wr_22"]=="" || $view["wr_22"] =="") { echo " checked"; } ?>>

<input style="width: 250px; height: 30px; border-radius: 5px;" type="text" name="wr_24" id="wr_24"value=""<?php if($view["wr_24"]=="" || $view["wr_24"] =="") { echo " checked"; } ?>>

<input type="hidden" name="check" value="ok" ><input type="submit" value="저장">

</form>
        </form>

이런식으로 쭉썼는데요

<input type="submit" onclick="window.open('url', 'win_print', 'left=100,top=100,width=900,height=900,scrollbars=1'); return false;" value="내용보내기"  >

 

이런식으로 form 또는 a링크가 하나더있습니다.

 

from의 submit과 a링크를 같이 실행을 못시킨다고해서

input으로 변경을 했는데요(잘몰라서 일단 보이는대로 다해봤습니다)

view 페이지에서 바로 수정하고 이후에 새창으로 열리는 링크실행이 가능한 방법이 있을까요?

 

제가 설명을 잘했는지 모르겠습니다...

view 보기에서 수정이 가능하게한 submit과 동시에 a링크나 input을

자바스크립트나 다른 무언가로... 실행이 가능할까요?

ㅠㅠㅠㅠㅠㅠㅠ

form 여러개 submit 두개 하나의 버튼으로 동시 실행하기 이런거 검색해서

여러번 시도해봤는데 아무래도 view에서 바로 수정 후에 새로고침이 나오고 실행이 안되는건지

아니면 링크 실행이 안되는건지 모르겠습니다 ㅠ 버튼 실행으로 해봤는데 도저히 창이 뜨지 않아서...

도움글을 남겨봐요 ㅠㅠ..

 

버튼을 클릭해서 Alert창이 나오고 그다음 확인하면 링크로 연결되게 하는것도 좋습니다.

뭐든 좋으니... 해결방법이 있으면 좋겠어요 ㅠㅠ 두개 동시에 실행이 가능한 방법으로..

 

참고할만한 곳있으면 알려주세요 ㅠ

이 질문에 댓글 쓰기 :

답변 3

위에 방식은 onclick-> submit 형태로 진행됩니다 

submit -> onclick 로 진행하시려면 submit onclick 이벤트 제거하시고 상단에 처리 문을 변경하셔서 

 

if($_POST[check] == "ok"){
sql_query(" update $write_table set wr_22='$_POST[wr_22]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_23='$_POST[wr_23]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_24='$_POST[wr_24]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_25='$_POST[wr_25]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_26='$_POST[wr_26]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_27='$_POST[wr_27]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_28='$_POST[wr_28]' where wr_id='$wr_id' ");
goto_url($_SERVER[REQUEST_URI]);
?>

<script type="text/javascript">
<!--
jQuery(document).ready(function(){
    window.open('url', 'win_print', 'left=100,top=100,width=900,height=900,scrollbars=1');
});    
//-->
</script>

<?php 

};

 

update 후 에 창을 띄우시는 방식으로 해보세요

제가 잘이해를 못해서그러는데 처리문을 변경해야한다는건 어디부분을 변경해야되나요
아래써주신부분에 제이쿼리를 수정하면되나요?

일단 수정을해서 실행해보니 서밋을 누르지 않은채 바로 실행이되었습니다 ㅠㅠ
그리고 다른부분이 제이쿼리가 아니라 자바스크립트로 되어있는데
쿼리를 같이써도 상관이없나요?

적어주신거 그대로 적었는데 ㅠㅠ새로고침하거나 새로들어가면 그냥 바로 새창이떠버려서 문제가 또생겨버렸네요 ㅠㅠ..
기존에 작성되어있던 부분은
<script>
var win_print = function(href) {
    var new_win = window.open(href, 'win_print', 'left=150,top=150,width=450,height=150,scrollbars=1');
  // new_win.focus();
};
var win_print2 = function(href) {
    var new_win = window.open(href, 'win_print', 'left=100,top=100,width=900,height=1500,scrollbars=1');
  // new_win.focus();
};

//b에 같이 써지게
function mmhp(){
var wr_23=document.getElementById("wr_23");
var b=document.getElementById("b");

b.value= wr_23.value;
};
</<script>
이 내용과
제일 상단에
if($_POST[check] == "ok"){
sql_query(" update $write_table set wr_22='$_POST[wr_22]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_23='$_POST[wr_23]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_24='$_POST[wr_24]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_25='$_POST[wr_25]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_26='$_POST[wr_26]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_27='$_POST[wr_27]' where wr_id='$wr_id' ");
sql_query(" update $write_table set wr_28='$_POST[wr_28]' where wr_id='$wr_id' ");
goto_url($_SERVER[REQUEST_URI]);
};

이내용이 그대로 적혀있습니다.


추가답변달아주셔서 정말 감사합니다 ㅠㅠ..

위에서 form 안에 form 을 넣지 만시고요

form 안에 action 을 넣으시고요 

input submit 을 form 안에 넣으시고요

onclick 이벤트 뒤에 return false; 를 제거해 보세요

 

<form method="POST" name="form" method="post" action="<?php echo $_SERVER[PHP_SELF];?>">
                <input type="hidden" name="bo_table" value="<?php echo $bo_table; ?>"> 
                <input type="hidden" name="page" value="<?php echo $page; ?>"> 
                <input type="hidden" name="wr_id" value="<?php echo $wr_id; ?>"> 
                <input type="hidden" name="location" value="next">

<input style="width: 250px; height: 30px; border-radius: 5px; margin-bottom: 5px;" type="text" name="wr_22" id="wr_22" value="고객"<?php if($view["wr_22"]=="" || $view["wr_22"] =="") { echo " checked"; } ?>>

<input style="width: 250px; height: 30px; border-radius: 5px;" type="text" name="wr_24" id="wr_24"value=""<?php if($view["wr_24"]=="" || $view["wr_24"] =="") { echo " checked"; } ?>>

<input type="hidden" name="check" value="ok" >

<input type="submit" onclick="window.open('http://google.com', 'win_print', 'left=100,top=100,width=900,height=900,scrollbars=1');" value="내용보내기"  >

</form>

헉 알려주신대로 제대로 수정하고 잘했더니 실행은 됐는데요

<script type="text/javascript">
//<!--
jQuery(document).ready(function(){
    window.open('내용보내기URL', 'win_print', 'left=100,top=100,width=350,height=150,scrollbars=1');
});   
//-->
</script>

 

으로 해두니까 버튼을 클릭하지 않고도 바로 팝업이 뜨는 문제가 발생했습니다 ㅠㅠ 뭘하면 버튼클릭할때만 될까여....? ㅠㅠㅠㅠㅠㅠㅠㅠㅠ일단 해결되었으니 채택바로 누르겠습니다 너무감사합니다
정말 정말 감사합니다...

처음부터 창이 나오는 문제만 해결하면 진짜 완벽해질거같아요
감사합니다 ㅠㅠ

답변주신 부분으로 고민해서
<input type="hidden" name="check" value="ok">
<input type="button" value="34" onclick="winOpen();" >

function winOpen(){
var f = document.form;
f.target = "pop";
f.submit();
window.open('URL내용보내기', 'win_print', 'left=100,top=100,width=350,height=150,scrollbars=1');
};

이런식으로 만들어서 해봤더니 익스에서는 잘실행이되었습니다.
크롬에서는 실행이 안되던데 혹시 안되는 원인을 알고계식까해서 또 답변남겨요 ㅠㅠ..

혹 form id를 ftest 로하시고  굳이 winOpen 에  f.target="pop" 를 하지 만시고

form 태그에 target="pop" 을 넣으시고요 

winOpen 에 

jQuery("#ftest").submit(); 으로 보내 보세요 

 

 

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

회원로그인

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