使用Javascript验证HTML

Validate HTML using Javascript

本文关键字:HTML 验证 Javascript 使用      更新时间:2023-09-26

我有以下代码;我想确保提交不会实际发布到操作指定的页面,除非选择了两个单选输入中的一个。我已经尝试了这个和其他代码的多种变体,但似乎无法找出问题所在。无论单选按钮是否被选中,它仍然会发布到某个页面.py.

<html>
    <head>
        <title>
            Test Page
        </title>
        <script language="JavaScript">
            function validate(formEntry) {
                if (formEntry.Q1.q11.checked != true && formEntry.Q1.q12.checked != true)
                    return false;
                return true;
            } 
        </script>
    </head>
    <body>
        <form action="somepage.py" method="POST" onsubmit="return validate(this);">
            <input type="radio" name="Q1" id="q11" value="1" />
            <input type="radio" name="Q1" id="q12" value="2" />
            <input type="submit" name="Submit" />
        </form>
    </body>
</html>

如果您通过defalt检查一个按钮,那么将始终检查一个:

<input type="radio" name="Q1" id="q11" value="1" checked>
<input type="radio" name="Q1" id="q12" value="2" > 

或者功能可以很简单:

function validate(formEntry) {
    return formEntry.Q1[0].checked || formEntry.Q1[1].checked ;
}

如果选中任一项,则返回true,否则返回false。

if (!formEntry.Q1[0].checked && !formEntry.Q1[1].checked)

正在尝试通过form_name访问输入输入名称input_id真的很奇怪。

使用jquery验证。有关详细信息,请签出此链接http://bassistance.de/jquery-plugins/jquery-plugin-validation/

此处的演示页面:http://jquery.bassistance.de/validate/demo/

它似乎有效,看看:

http://jsfiddle.net/EEgea/

也许你最好使用JQuery这样的框架来防止不同浏览器之间的javascript缺陷

或者使用像JQuery验证这样的验证框架,我强烈建议这样做。

试试你的函数,比如:-

function validate(formEntry) {
   var radiobtn=document.getElementsByName('Q1');
   if(!(radiobtn[0].checked || radiobtn[1].checked))
        return false;
    return true;
}