#javascript #php #validation
#javascript #php #проверка
Вопрос:
Я пытаюсь выполнить простую проверку в javascript для foreach в php, но я не знаю, как анализировать каждую строку из представления
<table>
<?php $i=1; ?>
<?php foreach($questions $row):
?>
<tr><td colspan="2"><?php echo $i ; ?><?php echo $row->question;?></td></tr>
<tr><td colspan="2"><?php echo $row->category;?></td></tr>
<tr><td colspan="2"><?php echo $row->id;?></td></tr>
<tr>
<td><input type="checkbox" id="r" value="<?php echo $row->var_1;?>"></td>
<td class="answer"><?php echo $row->var_a;?></td>
</tr><tr>
<td><input type="checkbox" id="r" value="<?php echo $row->var_2;?>"></td>
<td class="answer"><?php echo $row->var_b;?></td>
</tr><tr>
<td><input type="checkbox" id="r" value="<?php echo $row->var_3;?>"></td>
<td class="answer"><?php echo $row->var_c;?></td?
</tr>
<?php endforeach; ?>
</table>
<button type="button" id="submit">Send</button>
И в javascript я стараюсь проверять каждый ответ на каждый вопрос.
<script>
$("#submit").on("click", function(){
var x=0;
if(document.getElementById("r").checked == true document.getElementById("r").value == 1){
x=x 1;
}
});
</script>
Каждый ответ имеет значение 1 или 0, и он может быть множественным выбором.
Комментарии:
1. Почему бы вам не проверить это на PHP, а не затирать его в JS?
2. Потому что, если это правильный ответ, я хочу добавить цветной фон для ответа..
Ответ №1:
- Идентификаторы должны быть уникальными — вместо этого используйте class или name
- если у вас есть jQuery, ИСПОЛЬЗУЙТЕ jQuery
$("#submit").on("click", function(e){
var x=$(".r:checked").length; // using class="r"
if (x < $(".r").length) {
alert("Please check all checkboxes");
e.preventDefault();
}
});
или с помощью name=»r»
$("#submit").on("click", function(e){
var x=$('input[name="r"]:checked').length;
if (x < $('input[name="r"]').length) {
alert("Please check all checkboxes");
e.preventDefault();
}
});