체크박스 script 검증관련 질문드립니다.
본문
안녕하세요?
<?php for ($i=0; $i<$count; $i++) { ?>
<input type="checkbox" name="bf_file[]" value="1">
<?php }?>
<script>
var ca=0;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "bf_file[]") {
if (f.elements[i].checked) ca++;
}
}
if (ca==0) alert(" 이미지 파일을 \n\n 한 개 이상 업로드 한 후에 작성완료를 클릭해 주십시요. ");
</script>
위와 같은 체크박스는 script에서 잘 검증이 됩니다.
그런데 아래와 같은 체크박스는 검증이 안됩니다.
<?php for ($i=0; $i<$count; $i++) { ?>
<input type="checkbox" name="bf_file[<?php ehco $i;?>]" value="1">
<?php }?>
<script>
var ca=0;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "bf_file[]") {
if (f.elements[i].checked) ca++;
}
}
if (ca==0) alert(" 이미지 파일을 \n\n 한 개 이상 업로드 한 후에 작성완료를 클릭해 주십시요. ");
</script>
위와 같이 이름값의 [ ] 안에 <?php ehco $i;?> 값이 있을 경우의 검증은 어떻게 해야 하는지요?
답변 3
그렇다면 조건을 아래처럼 바꿔보세요. Jquery로 더 간단히 체크할 수 있답니다. ^^;
<script>
if ($("input[name^='bf_file']:checked").length == 0){
alert(" 이미지 파일을 \n\n 한 개 이상 업로드 한 후에 작성완료를 클릭해 주십시요. ");
}
</script>
<?php for ($i=0; $i<$count; $i++) { ?>
<input type="checkbox" name="bf_file[<?php ehco $i;?>]" value="1">
<?php }?>
<script>
var ca=0;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "bf_file["+i+"]") {
if (f.elements[i].checked) ca++;
}
}
if (ca==0) alert(" 이미지 파일을 \n\n 한 개 이상 업로드 한 후에 작성완료를 클릭해 주십시요. ");
</script>
감사합니다^^