我有一个由不同表单元素(radio,text,select)组成的表单,并在PHP中动态创建。但是,我正在尝试基于问题类型在JQuery中验证此表单。我的问题名为q1,q2,.....
$(function(){
if ($('form').length > 0) {
$('form').submit(function(e){
var len = <?php echo $numRows; ?>; // refers to the number of rows in questions table of a database
for (var i = 1; i <= len; i++ ) {
var qNum = 'q'+i;
//document.write(qNum);
if (($('input[name=' + qNum + ']:checked').length == 0) )
{
if ($('input[type=Radio][name=' + qNum + ']')) {
alert("No Selection is made for "+ qNum);
return false;
}
}
}
}); // form submit function
}// form.length
})//function
以上代码可有效处理单选按钮。但是,当谈到非无线电问题时,它仍然会向非无线电问题显示警告信息。无论如何,根据问题类型处理这个问题?
答案 0 :(得分:0)
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
$(function(){
if ($('form').length > 0) {
$('form').submit(function(e){
var answers = '';
//alert (qNum);
var i = 1;
var len = <?php echo $numRows; ?>;
$('input[type=Radio]:checked').each(function() {
if (answers !== '') {
answers += ',';
}
answers += $(this).val();
//alert(answers);
})
$('input[name=h2]').val(answers);
for (var i = 1; i <= len; i++ ) {
var qNum = 'q'+i;
//document.write(qNum);
if (($('input[name='+qNum+']:checked').length == 0) )
{
if ($('#'+qNum+'').is(':radio')) {
alert("No Selection is made for "+ qNum);
return false;
}
}
}
}); // form submit function
}// form.length
})//function