在HTML中验证不起作用

时间:2011-03-16 07:20:27

标签: javascript html django validation

我实现了一个过滤方法(Django)。过滤器的工作原理基于下拉菜单中的一些选项和文本字段中输入的文本。现在我想验证表格。我尝试这样做:但它没有得到验证。有人可以帮我解决这个问题吗?

<form id="myform" action="http://10.1.0.90:8080/filter/" method="POST" >
    Filter By: 
    <select name="choices" onsubmit="document.forms[0].submit()" style="color: black; background-color: #BDBDBD" >
        <option value="">Select A Choice </option>
        <option value="Name">Name</option> 
        <option value="Designation" >Designation</option>
        <option value="EmployeeID" >EmployeeID</option>
        <option value="Project" >Project</option>
        <option value="DateOfJoin" >Date Of Join</option>   
    </select>
    <input type="text" name="textField" style="color: black; background-color: #BDBDBD" >
    <input type="submit" value="Go" onclick="validator()">
    </form>
    <script type="text/javascript">
    function validator(){   
        if (document.getElementById('Designation').value == "")
        {
            alert("Enter a value");
        }
    }
    </script>

3 个答案:

答案 0 :(得分:2)

我在http://jsbin.com/ayuzi4/

制作了一个演示版

检查是否有帮助。

更改

<select name="choices" onsubmit="document.forms[0].submit()" style="color: black; background-color: #BDBDBD" >

<select name="choices" id="choices" style="color: black; background-color: #BDBDBD" >

 <input type="submit" value="Go" onclick="validator()">

现在是

 <input type="submit" value="Go" onclick="return validator();">

并且新的js函数是

function validator(){   
    if (document.getElementById('choices').value === "")
    {
        alert("Enter a value");
        return false;
    }
}

答案 1 :(得分:1)

if (document.myform.getElementById('Designation').value == "")   
and add  
    return false;  
    } else {  
        return true;  
    }  

不确定....试试这个

答案 2 :(得分:1)

仔细查看您的代码,并尝试了解各种Javascript函数正在做什么。

在提交按钮上,您有一个调用验证器的函数。但是在选择框本身,你有一个提交表单的功能!因此,只要单击选择框,表单就会被提交,因此永远不会调用验证器函数。