#javascript #jsp #submit
#javascript #jsp #Отправить
Вопрос:
Пожалуйста, проверьте код.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. Пожалуйста, обновите свой пример кода: (1) элемент script не закрыт, (2) Я не могу найти элемент userNamemsg (3) используйте userName.focus() вместо form.userName.focus();
Ответ №1:
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>
Ответ №2:
Я думаю, что в вашем коде JavaScript есть ошибки, которые происходят до ваших инструкций return . Исправьте эти ошибки, и ваш код должен работать.
Комментарии:
1. 1 неопределенный ответ, но это правда: в таких функциях, как onsubmit или onclick, если ваш JavaScript выдает ошибку, форма будет отправлена или ссылка будет пройдена в любом случае. Если вы не включили окно ошибки при ошибках скрипта, может быть неясно, что произошло.
Ответ №3:
в качестве альтернативы вы можете настроить обработчик нажатия кнопки отправки так, чтобы он возвращал false.