버튼클릭하면 입력필드가 추가되고
추가된 입력필드의 value값도 +1씩 증가 시키고 싶습니다.
일단 제이쿼리로 동적입력필드는 만들었는데 value값에 입력필드가 추가될때마다
value="<?php echo $content->option->sample1 ?>"
value="<?php echo $content->option->sample2 ?>"
value="<?php echo $content->option->sample3 ?>"
.
.
.
이런씩으로 값을 증가시키고 그 값을 document.php로 넘기고 싶습니다.
KBoard 질문이라기보단 자바스크립트(jQuery) 질문 같습니다^^
새로운 필드를 추가하는 예제는 아래 링크를 확인해보시겠어요?
간단한 예제도 작성해서 올려드립니다~^^
아래 코드를 스킨의 적당한 위치에 추가해서 테스트 해보세요 ㅎㅎ
(원래 코드까지 작성해서 답변을 드리지는 못합니다..)
<!-- 필드를 추가할 영역 -->
<div id="kboard-dynamic-field"></div>
<!-- 게시글 정보에 인덱스 수를 저장해서 차후 다시 사용 -->
<input type="hidden" name="kboard_option_dynamic_field_index" value="<?php echo intval($content->option->dynamic_field_index)?>">
<!-- 추가 버튼 -->
<button onclick="kboard_add_dynamic_field()">추가</button>
<script>
function kboard_add_dynamic_field(){
// 인덱스 수 가져와서 1 증가
var index = parseInt(jQuery('input[name=kboard_option_dynamic_field_index]').val()) + 1;
// 증가된 인덱스 다시 저장
jQuery('input[name=kboard_option_dynamic_field_index]').val(index);
// 추가될 필드 이름
var name = 'kboard_option_sample' + index;
// 필드 추가
jQuery('#kboard-dynamic-field').append(jQuery('<input type="text" name="'+name+' value="">'));
}
</script>
친절한 답변 감사합니다.
제가 질문드린것은
<input type="text" name="kboard_option_{옵션 카}" value="<?php echo $content->option->{옵션 키}?>">
이런형태의 입력필드가 추가되어야하는데 value값에 php구문을 어떻게 추가해야되는지 알고싶습니다.
value값이 [ value="<?php echo $content->option->{옵션 키}?>" ]의 형태가 되어야 수정이 가능한것이 아닌지,
그래야 document.php에 추가할수있고 내용이 출력되는것이 아닌지요?
먼저 몇개의 필드가 등록됐는지 알아야 가능 할 듯합니다.
그래서 예제에도 kboard_option_dynamic_field_index 필드가 있는것입니다.
아래 코드처럼 예제에서 등록한 최대 필드의 개수(dynamic_field_index 값) 대로 출력을 해주시면 됩니다.
for($index=1; $index<intval($content->option->dynamic_field_index); $index++){
echo '<input name="kboard_option_sample' . $index . '" value="' . $content->option->{'sample'.$index} . '">';
}
아주 단순하게 코드를 표현하면 아래와 같습니다.
for($index=1; $index<10; $index++){
echo $content->option->{'sample'.$index};
}
감사합니다. 덕분에 잘해결되었습니다.^^
혹시 for 대신 foreach로 하는이유가 따로 있나요?
아무튼 고민하던 문제에 빠른답변해 주셔서 감사합니다.
for가 맞습니다^^
급히 작성하느라 실수가 있었습니다 ㅎㅎ