Javascript 如何验证循环动态单选按钮?
我正在开发一些问卷供用户回答。 使用循环单选按钮,以下是我的代码:Javascript 如何验证循环动态单选按钮?,javascript,php,loops,dynamic,radio-button,Javascript,Php,Loops,Dynamic,Radio Button,我正在开发一些问卷供用户回答。 使用循环单选按钮,以下是我的代码: <?php $i4 = 1; while ($rows_element4 = mysql_fetch_array($result_element4)){ ?> <tr> <td><?php echo $i4; ?></td> <td><?php echo $rows_element4['question_bm']; ?>&
<?php
$i4 = 1;
while ($rows_element4 = mysql_fetch_array($result_element4)){
?>
<tr>
<td><?php echo $i4; ?></td>
<td><?php echo $rows_element4['question_bm']; ?><br/><br/><i><?php echo $rows_element4['question_bi']; ?></i></td>
<td><input type="radio" name="e4q<?php echo $i4; ?>" id="e4q<?php echo $i4; ?>" value="1" required oninvalid="this.setCustomValidity('Please choose something')"></td>
<td><input type="radio" name="e4q<?php echo $i4; ?>" id="e4q<?php echo $i4; ?>" value="2"></td>
<td><input type="radio" name="e4q<?php echo $i4; ?>" id="e4q<?php echo $i4; ?>" value="3"></td>
<td><input type="radio" name="e4q<?php echo $i4; ?>" id="e4q<?php echo $i4; ?>" value="4"></td>
<td><input type="radio" name="e4q<?php echo $i4; ?>" id="e4q<?php echo $i4; ?>" value="5"></td>
</tr>
<?php
$i4++;
}
?>
您可以创建一个简单的函数,该函数将检查是否有任何单选按钮未被选中,它将返回false
function isSubmissionValid(){
var isValid = true;
if (!$("input[name='e4q']:checked").val()) {
isValid = false;
}
return isValid;
}
现在在submit按钮上单击call这个函数,它将允许您检查是否有任何单选按钮未选中
$('#submit_button').click(function() {
if(isSubmissionValid())
{
//go ahead with form submission
}
else
{
alert("You must select all answer");
}
});
编辑
您可以使用input[name^='e4q']
,它将使用e4q选择您的所有收音机。jQuery有文档的原因在于此。使用class代替id。因为您可以看到我的'name'属性在循环中$i4可能是e4q1。e4q2、e4q3、e4q4……至e4q10。如何在函数上应用它?@Alieym那么你应该使用jquery start with operator,因为我看到你所有的单选按钮都是从e4q开始的。请参见编辑的ans。它在bool isValid=true行上显示错误;这是javascript吗?抱歉,将bool更改为var