안녕하세요~ Kboard Contact-form으로 문의하기 게시판을 사용하고 있습니다.
현재 아래와 같은 코드를 editor.php에서 사용하고 있습니다.
Products 라는 form은 다중선택이 가능하지만, 최소 하나 이상은 선택하게 하고 싶은데 방법을 모르겠습니다.
<div class="kboard-attr-row">
<label class="attr-name" for="kboard_option_product">Products<span class="attr-required-text"> *</span></label>
<div class="attr-value">
<label for="3G Trackers" style="width:auto; float:left; padding-right:15px;">
<input type="checkbox" id="3G Trackers" name="kboard_option_product" value="3G Trackers"<?php if($content->option->product == '3G Trackers'):?> checked<?php endif?>>
3G Trackers
</label>
<label for="ELD Data Interpreter" style="width:auto; float:left; padding-right:15px;">
<input type="checkbox" id="ELD Data Interpreter" name="kboard_option_product" value="ELD Data Interpreter"<?php if($content->option->product == 'ELD Data Interpreter'):?> checked<?php endif?>>
ELD Data Interpreter
</label>
<label for="OBD Trackers" style="width:auto; float:left; padding-right:15px;">
<input type="checkbox" id="OBD Trackers" name="kboard_option_product" value="OBD Trackers"<?php if($content->option->product == 'OBD Trackers'):?> checked<?php endif?>>
OBD Trackers
</label>
<label for="UBI Trackers" style="width:auto; float:left; padding-right:15px;">
<input type="checkbox" id="UBI Trackers" name="kboard_option_product" value="UBI Trackers"<?php if($content->option->product == 'UBI Trackers'):?> checked<?php endif?>>
UBI Trackers
</label>
<label for="RF Trackers" style="width:auto; float:left; padding-right:15px;">
<input type="checkbox" id="RF Trackers" name="kboard_option_product" value="RF Trackers"<?php if($content->option->product == 'RF Trackers'):?> checked<?php endif?>>
RF Trackers
</label>
<label for="Satellite Trackers" style="width:auto; float:left; padding-right:15px;">
<input type="checkbox" id="Satellite Trackers" name="kboard_option_product" value="Satellite Trackers"<?php if($content->option->product == 'Satellite Trackers'):?> checked<?php endif?>>
Satellite Trackers
</label>
<label for="Accessories" style="width:auto; float:left; padding-right:15px;">
<input type="checkbox" id="Accessories" name="kboard_option_product" value="Accessories"<?php if($content->option->product == 'Accessories'):?> checked<?php endif?>>
Accessories
</label>
</div>
</div>
그리고 사용자가 선택한 값을 Kboard의 my_kboard_latest_alerts_message()로 아래처럼 넘겨받고 있습니다.
add_filter('kboard_latest_alerts_message', 'my_kboard_latest_alerts_message', 10, 2);
function my_kboard_latest_alerts_message($mail_content, $content){
if($content->board_id == '1'){
return $mail_content . ' Name : ' . $content->getUserDisplay() . '<br />' .' E-Mail : ' . $content->title . '<br />' . ' country & Tel : ' . $content->category1 . $content->option->tel . '<br />' . ' Products : ' . implode(', ',$content->option->product) . '<br />' . ' Usage : ' . $content->option->usage . '<br />' . ' Message : ' . $content->option->message;
}
return $mail_content;
}
그런데 Product의 경우에는 하나를 선택해도, 여러개를 선택해도 값이 넘어오지 않습니다 ㅠㅠ
참고할만한 글이나 방법을 알려주시면 너무 감사하겠습니다.
수고하세요.
안녕하세요~^^
여러 개의 체크박스 값을 form 데이터로 전송하시려면
동일한 name의 체크박스 데이터를 배열로 보내주셔야 할 듯합니다.
name 부분을 기존 kboard_option_product에서 kboard_option_product[] 이런 식으로 모두 교체하시면
체크박스 데이터를 배열로 전송하실 수 있습니다.
체크박스 중 최소 1개 이상 선택되게 하시려면
자바스크립트 코드를 추가해서도 가능하지만
KBoard 플러그인 입력 필드 중 확장 필드에서 체크박스 필드를 활용하시면 가능합니다.
필드 설정 중 필수 체크박스를 체크하시면 최소 1개 이상 선택되게 하실 수 있습니다.
고맙습니다.