Ошибка в случае onSubmit при проверке пустого текстового поля - PullRequest
0 голосов
/ 06 сентября 2011

Я реализую форму в html и проверяю пустые текстовые поля в событии onSubmit формы В моем коде java-скрипта я возвращаю false, но форма все еще отправляется и перенаправляет на новый URL. Что не так в этом коде?

function checkBlank(form)
{
    var returnvar=true;
    if(form.driver.value=="")
    {
        alert("You can't left  text box Driver as blank.. ");
        driver.focus();
        returnvar=false;
    }       
    return returnvar
}


 <form name="form1" action="/Assignment6/DataBaseServlet"  onSubmit="return checkBlank(form1);" method="post">

Ответы [ 3 ]

2 голосов
/ 06 сентября 2011

Вы изменили имена переменных

returnvar
returnval

и линия передачи

return checkBlank(form1);

следует использовать this, а не form1

return checkBlank(this);

Также driver не определено.

driver.focus();

На него следует ссылаться с form

form.driver.focus();
0 голосов
/ 06 сентября 2011

Привет из-за тега действия.Я просто изменяю свой код, и это работает нормально. enter code here

 function checkBlank(form)
  {
var returnval=true;
form.action="/Assignment_8/";
if(form.driver.value=="")
    {
    alert("You can't left  text box Driver as blank ");

    driver.focus();     
    returnval= false;
    }
if(form.url.value=="")
{
alert("You can't left  text box url as blank ");
form.url.focus();
returnval= false;
}
if(form.username.value=="")
{
alert("You can't left  text box username as blank ");
form.username.focus();
returnval= false;
}
if(form.password.value=="")
{
alert("You can't left  text box password as blank ");
form.password.focus();
returnval= false;
}
if(form.query.value=="")
{
alert("You can't left  text box query as blank ");
form.query.focus();
returnval= false;
}
if(returnval){
    form.action="/Assignment_8/database.jsp";
   }
    return true;
}
 //and form tag is..
   <form name=form1  method="post" onsubmit="return checkBlank(form1)">
0 голосов
/ 06 сентября 2011

Ваша полная функция может быть:

function checkBlank(form) {
  return form.driver.value == "";
}

Если вам сообщение не требуется.Или, возможно:

function checkBlank(form) {
  if (!form.driver.value) {
    alert("Please enter a value in the driver field");
    return false;
  }
}

Но вам может потребоваться более надежная проверка, так как это позволит использовать строку из одного или нескольких пробелов.

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