이전 목록 다음
채택완료

글쓰기에서 select와 input text 연동후 DB에 올릴때 값이 전달이 안되네요

2017-12-07 (목) 09:40:29 2,649

스킨에서 select 문과 input문을 연동해서 직접입력하는 방법과

선택한값을 그대로 wr_2로 입력을 하고 싶어서 다음과 같이 코드를 짜 보았습니다. 

그런데.. 이 값이 확인  버튼을 누르면 DB로 전달이 되지 않네요.. 

지금 4일째 보고 있는데 방법을 못찾고 있어 도움을 청합니다. 

어찌 하여야 하나요????

Copy
<form method="post" name="frm">

  <select name="V_SELECT" onchange="change_V()">
   <option >종류를 선택하세요 </option>
   <option value="1">직접입력</option>
   <option value="2" <?if($write[wr_2]=="2"){echo("selected");}?>>2.</option>
   <option value="3" <?if($write[wr_2]=="3"){echo("selected");}?>>3.</option>
   <option value="4" <?if($write[wr_2]=="4"){echo("selected");}?>>4.</option>
   <option value="5" <?if($write[wr_2]=="5"){echo("selected");}?>>5.</option>
  </select>
   <input class=ed type="text" name="wr_2" id="wr_2" itemname="종류" required value="<?=$write[wr_2]?>">

 </form>
     <script>
     function change_V() {

      if (frm.V_SELECT.value=="1") {
          frm.wr_2.readOnly = false;
          frm.wr_2.value = "";
          frm.wr_2.focus();
         }    else {
          frm.wr_2.readOnly= true;
          frm.wr_2.value = frm.V_SELECT.value;
         }
        }
        </script>
|

답변 3개 / 댓글 4개

채택된 답변
+20 포인트

위에 내용에는 별 내용이 없어서요.

write_update.php 에서

1. wr_2가 정상적으로 들어오는지.

2. update 구문에서 wr_2에 대한 내용들이 있는지

2개를 확인해보시면 될듯합니다.

답변에 대한 댓글 1개

감사합니다. 알려주신 덕분에 원하는데로 수정을 하였습니다.
거기에다가 https://sir.kr/g4_skin/153856 이 스킨 소스를 바탕으로 수정을 하였습니다.

전 위의.. write.skin.php파일소스를 보고 ..

처음 짠 <form> 문을 없애고

[code]
<input itemname="입력" required maxlength=15 id="v1" name="v1" value="<?=$v1?>" style="display:;" onchange="$(function(){$('#v_yn').val('N')});">
<select itemname="종류" required id="v2" name='v2' onchange="if(this.value=='직접입력') this.form.v1.style.display=''; else this.form.v1.value=this.form.v2.value;$(function(){$('#v_yn').val('N')});" style="width:175px; height:42px; padding:10px; border:1px solid #ccc;">
<option >종류를 선택하세요 </option>
<option value="직접입력">직접입력</option>
<option value="1" <?if($v2=="1"){echo("selected");}?>>1.</option>
<option value="2" <?if($v2=="2"){echo("selected");}?>>2.</option>
<option value="3" <?if($v2=="3"){echo("selected");}?>>3.</option>
<option value="4" <?if($v2=="4"){echo("selected");}?>>4.</option>
<option value="5" <?if($v2=="5"){echo("selected");}?> >5.</option>
</select>
[/code]
로 입력을 하였습니다.
그리고 말씀 해주신대로 write.update.skin.php의 파일을 아래의 내용과 같이 만들어 넣였습니다.
[code]
<?
// 자신만의 코드를 넣어주세요.
// 게시판 작성후 메인으로 이동
$wr_2 = "$v1";
$sql2 = " update $write_table set wr_2 = '$wr_2' where wr_id = '$wr_id' ";
sql_query($sql2);

?>
[/code]

이렇게 처리를 했지만, onchange 구문이 넘 지저분 해보이네요
script구문으로 수정을 해야 할것 같은데... 아직 코드가 눈에 잘안 들어오네요...

그럼 DB에 저장하는 부분을 보여주셔야 할듯 합니다. ^^;;

답변에 대한 댓글 1개

너무 너무 감사드려요.. 바쁘실텐데도 답을 주시다니... 꾸벅 꾸벅

DB는 그누보드4 베이직 스킨 그대로 입니다.
Copy
var x  =document.frm.V_SELECT;
var val=x.options[x.selectedIndex].value;
if (val=="1") {
 frm.wr_2.readOnly = false;
 frm.wr_2.value = "";
 frm.wr_2.focus();
}else{
 frm.wr_2.readOnly= true;
 frm.wr_2.value = val;
}

스크립트를 이렇게 바꾸시면 되실껍니다.

답변에 대한 댓글 2개

제가 무식해서요..
스크립트만 바꾸면, 화면상에서는 셀렉트 문에 의해서 잘 바뀌기는 하는데요,
DB에서는 확인 버튼을 눌러도 값이 쓰여 지지 않는 것은 똑 같습니다.

function fwrite_submit(f)
여기에서 해주어야 하는 작업이 있을까요????

답변을 작성하려면 로그인이 필요합니다.