0

我有一个由不同表单元素(收音机、文本、选择)组成的表单,并且是在 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

上面的代码有效地处理单选按钮。但是,当涉及到非广播问题时,它仍会针对该非广播问题显示警告消息。无论如何,根据问题类型以不同方式处理这个问题?

4

1 回答 1

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
于 2013-08-05T05:09:27.003 回答