Проверка формы jQuery не работает в JSP - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь проверить форму с помощью jquery с нашим плагином проверки.При отправке формы ее перенаправление на страницу действия без проверки.

Также я попробовал добавить функцию isValidFormLogin в Index.jsp.

Index.jsp

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap & JavaScripts-->
<script src="js/jquery-3.4.1.min.js" type="text/javascript"></script>
<script src="Controllers/controllerMain.js" type="text/javascript"></script>
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap & JavaScripts-->
<title>JQuery</title>
</head>
<body>
<div class="container">
    <div class="card mx-auto" style="width: 30rem;">           
            <div class="card-body">
                <h5 class="card-title"></h5>
                <form id="formLogin" action="Items.jsp" method="post">
                    <div class="form-group">
                        <label for="username">Username</label>
                        <input type="email" class="form-control" name="username" id="username" aria-describedby="emailHelp" placeholder="Enter Username">
                    </div>
                    <div class="form-group">
                        <label for="password">Password</label>
                        <input type="password" class="form-control" name="password" id="password" placeholder="Password">
                    </div>
                    <button name="btnLogin" id="btnLogin" type="submit" class="btn btn-primary">Login</button>
                 </form>
            </div>
            <div class="card-footer">
                <a href="#">Forgot Password ?</a>
            </div>
            <div id="msgLogin">
                <% //out.println(MsgLogin); %>
            </div>
        </div>
</div>
</body>

contollerMain.js

//Login 
$(document).on("click","#btnLogin",function(){
    var result = isValidFormLogin();
    if(result=="true"){
        $("#formLogin").submit();
    }
    else{
        $("#MsgLogin").html(result);
    }

});

function isValidFormLogin(){
    if($.trim($("#username").val())==""){
        return "Enter Username";
    }
    if($.trim($("#password").val())==""){
        return "Enter Password";
    }
    return "true";
}

Ответы [ 3 ]

2 голосов
/ 21 мая 2019

Кнопка «Отправить» имеет функцию отправки формы по умолчанию.Вы должны помешать перед отправкой формы.

$(document).on("click","#btnLogin",function(e){
e.preventDefault();
//your code
});
2 голосов
/ 21 мая 2019

Сначала необходимо отменить отправку события, используя объект события .

$(document).on("click","#btnLogin",function(event){
// cancel submission
event.preventDefault();
var result = isValidFormLogin();
if(result=="true"){
    $("#formLogin").submit();
}
else{
    $("#MsgLogin").html(result);
}
});
1 голос
/ 21 мая 2019

Добавить prevent по умолчанию для остановки по умолчанию submit функциональность кнопки:

 $(document).on("click","#btnLogin",function(e){
        e.preventDefault();
        var result = isValidFormLogin();
        if(result=="true"){
            $("#formLogin").submit();
        }
        else{
            $("#MsgLogin").html(result);
        }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...