Я хотел бы проверить (на странице jsp), равны ли значения password1 и password2 или нет. И если они не равны, он останется на одной странице. В противном случае он будет обновляться. Я мог делать все, но я не могу заставить форму оставаться на одной странице, если пароли не равны. коды, которые я пробовал, выглядят следующим образом:
<form id="form1" method="post" action="saveUpdatePassword">
Password: <s:password name="password1" id="password1" />
Re-type password: <s:password name="password2" id="password2" />
<input type="submit" id="sumbitButton" value="Update" />
</form>
$(function() {
$("#sumbitButton").click(function() {
if ($("#password1").val() != $("#password2").val()) {
alert("Not equal");
}
});
});
Можете ли вы рассказать мне, как сделать форму на одной странице, если пароль не соответствует? И предоставить пользователям возможность снова ввести пароль?
Вы ищете event.preventDefault()
$(function() {
$("#sumbitButton").click(function(event) {
if ($("#password1").val() != $("#password2").val()) {
alert("Not equal");
event.preventDefault();
}
});
});
Обратите внимание, что параметр event
передается в обработчик кликов.
Если результат является ложным, просто верните false, что предотвратит отправку формы.
$(function() {
$("#sumbitButton").click(function() {
if ($("#password1").val() != $("#password2").val()) {
alert("Not equal");
return false;
}
});
});
EDIT: когда пароль успешно изменен
var wnd = window.open(blah,blah,blah . . . . .)
вы можете закрыть окно как wnd.close();
false
срабатываний, но event.preventDefault()
является (вероятно) лучшим решением. См. Fuelyourcoding.com/jquery-events-stop-misusing-return-false