如何在检查表单之前禁用表单提交? [英] How to disable the form submit before it is checked?

查看:106
本文介绍了如何在检查表单之前禁用表单提交?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表单,如果未选择收音机,则尝试禁用发布该表单:

I have a form and try to disable post it if radios not selected:

function checkForm(obj){
            var return_value = true;
            var error_msg = 'Some text: '+'\n';

            $("input[type='radio']:not(:checked)").each(function() {
                error_msg += $(this).next().text() + ", ";
            });

            if(!return_value)
                alert(error_msg);

            return return_value;
        }

表格:

<form name="test1" method="post" action="result.php" onsubmit="return checkForm(this);">
    <span id="q2"><h4>My question</h4></span>

    <ul>

    <li><input type="radio" name="answer[2]" value="5" />a1</li>

    <li><input type="radio" name="answer[2]" value="6" />a2</li>

    <li><input type="radio" name="answer[2]" value="7" />a3</li>
    <li><input type="radio" name="answer[2]" value="8" />a4</li>
    </ul>
    </div>
    <div><input type="submit" value="Send!" name="submit" class="button" id="start" /></div>
</form>

但是没有警报显示,并且表单已提交.

But no alert shows and the form is submitted.

推荐答案

您可以尝试

$('form[name=test1]').submit(function(){                 
        var return_value = false;             
        var error_msg = 'Some text: '+'\n';  
         $("input[type='radio']").each(function() { 
             if ($(this).attr('checked')){
                 return_value = true; 

             } else {
                 error_msg += $(this).next().text() + ", "; 
             }
              });  

        if(!return_value)                 
                alert(error_msg);              

        return return_value;         
            } );

并在html中删除onsubmit函数

and in html remove onsubmit function

这篇关于如何在检查表单之前禁用表单提交?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆