Проверка в HTML не работает - PullRequest
0 голосов
/ 16 марта 2011

У меня реализован метод фильтра (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 ]

2 голосов
/ 16 марта 2011

Я создал демо на 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 голос
/ 16 марта 2011

Внимательно посмотрите на свой код и постарайтесь понять, что делают различные функции Javascript.

На кнопке отправки у вас есть функция, которая вызывает валидатор.Но на поле выбора у вас есть функция, которая отправляет форму!Поэтому, как только вы щелкнете по полю выбора, форма будет отправлена, поэтому функция валидатора никогда не вызывается.

1 голос
/ 16 марта 2011
if (document.myform.getElementById('Designation').value == "")   
and add  
    return false;  
    } else {  
        return true;  
    }  

не уверен .... попробуйте это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...