Ошибка проверки Javascript при использовании с Django - PullRequest
0 голосов
/ 23 марта 2011

Я создал приложение django.С помощью этого приложения пользователи могут быть созданы или удалены.Но при создании пользователя, когда мы оставляем 1 поля (Employee ID Field) пустым, оно не отправляется и выдает эту ошибку - недопустимый литерал для int () с основанием 10: ''.Поэтому я полагаю, что проверка только этого поля и отправка этой формы, только если поле ID сотрудника не равно NULL, может решить мою проблему.Для этого я создал javascript и хочу, чтобы функция js вызывалась перед отправкой.Необходимо отправить эту форму, только если это поле не пустое.Появляется окно с сообщением «Введите идентификатор сотрудника», но как только я нажимаю «ОК», чтобы отобразить окно с предупреждением, снова появляется та же ошибка. Может кто-нибудь помочь мне решить эту проблему.Я совершенно новичок в Django и программировании.Я вставлю свой код сюда.

Add New User to Employee List
</h4><br><br><br>
<form name="myForm" action="http://10.1.0.90:8080/createEmployee/" method="POST">
<br>Name: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="userName"  style="color: black; background-color: #BDBDBD" /><br /><br>
Designation:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="designation"  style="color: black; background-color: #BDBDBD" >
 <option value="Trainee" >Trainee</option>
 <option value="Software Engineer Trainee">Software Engineer Trainee</option>
 <option value="Software Engineer">Software Engineer</option>
 <option value="Senior Software Engineer">Senior Software Engineer</option>
 <option value="Project Manager">Project Manager</option>
 <option value="System Administrator">System Administrator</option> 
 <option value="Tester">Tester</option>
</select><br>
<br>
EmployeeID:<input id ="empid" type="text" name="employeeID"  style="color: black; background-color: #BDBDBD" /><br><br>
Contact Number: <input type="text" name="contactNumber"  style="color: black; background-color: #BDBDBD" /><br><br>
Project:&nbsp;&nbsp;&nbsp;<input type="text" name="project"  style="color: black; background-color: #BDBDBD" /><br><br>
Location:&nbsp;<input type="text" name="location"  style="color: black; background-color: #BDBDBD" /><br><br>
E-mail:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="email"  style="color: black; background-color: #BDBDBD" /><br><br>
Skills:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="skills"  style="color: black; background-color: #BDBDBD" /><br><br>
Date Of Join:&nbsp;<input type="text" id="datepicker" name="dateOfJoin"  style="color: black; background-color: #BDBDBD"  /><br><br>
<br><br>
<input type="submit" value="   Submit  " onclick="isEmpty()" /><br />
</form> 
<script type="text/javascript">
function isEmpty(){
    if ((document.myForm.EmployeeID.value.length==0)) 
        {
            alert("Please Enter Employee ID");
                    return true;
        }
    else 
        { 
        return false; 
        }

}

1 Ответ

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

ошибка: "если ((" открыты две скобки

--- ОБНОВЛЕНИЕ ---

Прежде всего, если вы получите ошибку о преобразовании пустого или нулевого в число,это означает, что у вас неправильный код. Исправление путем дополнительной проверки в javascript означает, что вы делаете очень неприятный обходной путь, не исправляя саму ошибку - если сбой javascript (например, в браузере не включен javascript), пользователь все равно получает ошибку 50x.*

Итак, исправьте свою форму, чтобы это поле было обязательным. IMO у вас есть EmployeeID, определенный как необязательное поле в форме, а затем вы предполагаете, что это поле является обязательным и пытается использовать его.

Если вы исправите свой код приложения (бэкэнда), тогда вы можете добавить подтверждение в веб-интерфейсе (javascript).

Правильный способ присоединения подтверждения формы - это прикрепить его к обработчику формы «при отправке».Если этот обработчик вернет «ложь», форма не будет отправлена.

...