Форма будет отправлена, даже если JavaScript fun вернет false
-
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.
Не связан с StackOverflow