Как проверить поля пароля JSP с помощью JQuery?

0

Я хотел бы проверить (на странице jsp), равны ли значения password1 и password2 или нет. И если они не равны, он останется на одной странице. В противном случае он будет обновляться. Я мог делать все, но я не могу заставить форму оставаться на одной странице, если пароли не равны. коды, которые я пробовал, выглядят следующим образом:

  • здесь действие - это действие struts2, которое определяется в файле struts.xml

Код формы:

<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>

и код сценария jQuery:

$(function() {
    $("#sumbitButton").click(function() {
        if ($("#password1").val() != $("#password2").val()) {
            alert("Not equal");
        }           
    });
});

Можете ли вы рассказать мне, как сделать форму на одной странице, если пароль не соответствует? И предоставить пользователям возможность снова ввести пароль?

Теги:
jsp
struts2-jquery

2 ответа

0
Лучший ответ

Вы ищете event.preventDefault()

$(function() {
    $("#sumbitButton").click(function(event) {
        if ($("#password1").val() != $("#password2").val()) {
            alert("Not equal");
            event.preventDefault();
        }           
    });
});

Обратите внимание, что параметр event передается в обработчик кликов.

http://api.jquery.com/event.preventdefault/

  • 0
    если я использую event.preventDefault (), то это показывает, что пароль изменен. Но когда я проверяю базу данных, я вижу, что пароль не меняется.
  • 0
    Извините, я не уверен, что вы имеете в виду под «он показывает, что пароль изменен». Где / на что ты смотришь?
Показать ещё 2 комментария
0

Если результат является ложным, просто верните 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();

  • 0
    Да, это работает. Я делаю это с помощью всплывающего окна. И после изменения пароля окно все еще открыто. Можно ли автоматически закрыть окно после обновления пароля.
  • 0
    Возвращение false срабатываний, но event.preventDefault() является (вероятно) лучшим решением. См. Fuelyourcoding.com/jquery-events-stop-misusing-return-false
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню