테스트 사이트 - 개발 중인 베타 버전입니다

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

쟁여신 7년 전 조회 2,445

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

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

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

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

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

</p>

<p> <form method="post" name="frm"></p>

<p>  <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]?>"></p>

<p> </form>

     <script>

     function change_V() {</p>

<p>      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개

채택된 답변
+20 포인트
M
7년 전

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

write_update.php 에서

 

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

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

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

쟁여신
7년 전
감사합니다. 알려주신 덕분에 원하는데로 수정을 하였습니다.
거기에다가 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구문으로 수정을 해야 할것 같은데... 아직 코드가 눈에 잘안 들어오네요...

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

M
7년 전

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

쟁여신
7년 전
너무 너무 감사드려요.. 바쁘실텐데도 답을 주시다니... 꾸벅 꾸벅

DB는 그누보드4 베이직 스킨 그대로 입니다.

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

M
7년 전

</p>

<p>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;

}</p>

<p>

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

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

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

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

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

로그인