Форма будет отправлена, даже если JavaScript fun вернет false

StackOverflow https://stackoverflow.com/questions/1416839

  •  06-07-2019
  •  | 
  •  

Вопрос

Пожалуйста, проверьте код.html-форма будет отправлена, даже если javascript вернет false.

<form id="form1" name="form1"   method="post" action="sub.jsp" onsubmit="return getValue()">
<input type="text" id="userName" name="userName"   onkeyup="return getValue()" />
<input type="submit" name="Submit" value="Submit" />
</form>

    <script type="text/javascript" >
    function getValue()
      {
        var userName=document.getElementById("userName");
            document.getElementById("userNamemsg").innerHTML="";
              if(userName.value=="")
              {
             var mdiv=document.getElementById("userNamemsg");
                  mdiv.innerHTML="Error:Required Fields cannot be blank!";
                  form.userName.focus();
                  return false;
               }
              return true;   
     } 
Это было полезно?

Решение

1) попробуйте сменить строку form.userName.focus(); Для document.form1.userName.focus();

или

2) попробуйте отправить из самой функции:

<input type="button" name="Submit" value="Submit" onclick="getValue()" />

<script type="text/javascript" >
function getValue()
  {
        var userName=document.getElementById("userName");
        document.getElementById("userNamemsg").innerHTML="";
          if(userName.value=="")
          {
              var mdiv=document.getElementById("userNamemsg");
              mdiv.innerHTML="Error:Required Fields cannot be blank!";
              document.form1.userName.focus();//I think this is the problem
              return false;
           }
          document.form1.submit();
 }
 </script>

Другие советы

Я думаю, что в вашем коде JavaScript есть ошибки, которые произошли до ваших операторов return. Исправьте эти ошибки, и ваш код должен работать.

альтернативно, вы делаете обработчик щелчка на кнопке отправки, чтобы вернуть false.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top