input 안에 여분필드 value값 넣는걸 문의드립니다!
본문
안녕하세요!
게시판 글쓰기시 파일첨부로 여분필드값을 받으려 합니다.
헌데
value="<?php echo $wr_11 ?>"
요 값을 못넣고 헤매고 있습니다!
코드를 봐주시면 감사하겠습니다!
objContent = "<div class='row'>";
objContent += "<div class='col-sm-7'><div class='form-group'><div class='input-group input-group-sm'><span class='input-group-addon'>번호</span><input type='text' class='form-control input-sm' name='wr_1 "+objNum+"' id='wr_1"+objNum+"' value=<?php echo 'wr_1"+objNum+"' ?>></div></div></div>";
objContent += "</div>";
objNum 이걸 이용해서 하는데...
php 값이 들어가야 되는데 그걸 못해서 자꾸
<input type="text" class="form-control input-sm" name="wr_1 0" id="wr_10" value="wr_10">
value="wr_10"
이런식으로 뜹니다.
저걸 어찌 바꿔줘야 할지 여쭤봅니다 ㅠㅠ
!-->
답변 5
소스를 보니 이렇게 하는게 맞을 듯 합니다.
objNum이 어떻게 변화하는지까지는 확인하지 않았습니다.
1. $wr_10부터 $wr_19까지의 값을 미리 자바스크립트 배열로 만듭니다.
2. objContetn를 만드실때 php 코드 쓰지 마시고 arrObjValue 배열 값을 넣으세요.
==> id='wr_1"
+ objNum +
"' value='"
+ arrObjValue[objNum] +
"'>
추가 : objNum 변수가 테이블의 줄수로군요... 그렇다면... 아래 코드에서 바뀌어야 할 부분이 있습니다.
value='"+ arrObjValue[objNum] 좌측처럼 했던 코드를 아래와 같이 고쳐주세요.
value='"+ arrObjValue[objIdx]
밑에 코드에도 수정했습니다.
<script>
var flen = 0;
function add_file(delete_code) {
var upload_count = 10;
if (upload_count && flen >= upload_count) {
alert("이 게시판은 "+upload_count+"개 까지만 작성이 가능합니다.");
return;
}
var arrObjValue = [
"<?php echo $wr_10; ?>",
"<?php echo $wr_11; ?>",
쭉... 입력....
"<?php echo $wr_19; ?>"
];
var objTbl;
var objNum;
var objIdx; // 추가해주세요.
var objRow;
var objCell;
var objContent;
if (document.getElementById)
objTbl = document.getElementById("variableFiles");
else
objTbl = document.all["variableFiles"];
objNum = objTbl.rows.length;
objIdx = objNum - 1; // 추가해주세요.
objRow = objTbl.insertRow(objNum);
objCell = objRow.insertCell(0);
objContent = "<div class='row'>";
objContent += "<div class='col-sm-7'><div class='form-group'><div class='input-group input-group-sm'><span class='input-group-addon'>번호</span>";
objContent += "<input type='text' class='form-control input-sm' name='wr_1"+ objNum +"' id='wr_1"+ objNum +"' value='"+ arrObjValue[objIdx] +"'></div></div></div>";
objContent += "</div>";
objCell.innerHTML = objContent;
flen++;
}
요거 보고 페이지 소스보고 이러지 않을까 생각했습니다. ㅎㅎ
!-->php와 javascript를 하신거 처럼 썩어 쓸수는 없어서 다른 방법을 생각해보셔야할거 같습니다.
처음에 따로 input hidden 해서 값을 넣어두고 그걸 불어오거나 하는 형식으로요
음... 이렇게 고쳐보세요.
더 도움을 받으시려면,
올려주신 코드에서 objNum 이라는 변수와 $wr_1의 관계를 좀 더 설명해주셔야 할 듯 합니다.
<script>
objContent = "<div class='row'>";
objContent += "<div class='col-sm-7'><div class='form-group'><div class='input-group input-group-sm'><span class='input-group-addon'>번호</span>";
objContent += "<input type='text' class='form-control input-sm' name='wr_1"+ objNum +"' id='wr_1"+ objNum +"' value='<?php echo $wr_1; ?>'></div></div></div>";
objContent += "</div>";
</script>
!-->
<input type='text' class='form-control input-sm' name='wr_1 "
+objNum+
"' id='wr_1"
+objNum+
"' value=<?php echo 'wr_1"
+objNum+
"' ?>>
이 태그중간의
name='wr_1 "
+objNum+
"'
이부분에
공백이 있어서 그래요
name='wr_1"
+objNum+
"'
로 바꿔보세요
그리고, db에서 가져온값혹은 넘어온값인
wr_11 에 해당되는 값일경우
value=<?php echo 'wr_1"
+objNum+
"' ?>
의 표기를 위와같이 하면 오류가 납니다.
value='<?php echo $wr_11
?>' 과 같은 방식으로
JavaScript의 string 형태와
php 의 값이 서로 믹스될수 없습니다.
php 를 출력하는 부분에 있어서는 보여주신 예제소스의 상/하단 부분이 어떤구성인지 알수없어서
추가적인 설명은 불가합니다.
해결은 못했지만 답변에 감사드립니다!!!