【发布时间】:2017-03-12 13:44:48
【问题描述】:
我创建了一个表单和 JQuery Ajax 处理程序来处理登录。
在我的表单下,我创建了一个引导 div 弹出窗口,告诉“用户名或密码不正确”。我想使用 JQuery $().hide() 隐藏它,如果用户名和密码不在数据库中,我的 Handler 脚本将显示 div 弹出窗口。
这是 div 弹出窗口
<div id="error" class=" col-sm-3 mx-auto mt-4 alert alert-danger alert-dismissible fade show" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
Password or username incorrect.
</div>
这是我的 JS 脚本
$(`div#error`).hide();
//handling login form.
$("#login-form").submit(function(e){
if($('#user').val() != "" && $('#psw').val() != "" && $('#npsw').val() != "") {
$.ajax({
type: "POST",
url: "login-process.php",
data: $("#login-form").serialize(),
success: function(response){
$('#login-form')[0].reset();
console.log(response);
if (response == "True") {
window.location.href = "info.php";
}
else {
$(`div#error`).show();
}
}
});
}
else {
alert("Please fill the fields.")
}
e.preventDefault();
});
问题: div 弹出窗口显示在页面上,并且没有隐藏。 当我从关闭按钮手动关闭它时。处理程序未显示 数据不正确时的 div。
【问题讨论】:
-
只使用
$("#error").hide()? -
我试过了,页面加载时 div 显示的内容相同。请注意,我的所有脚本都包含在 $(document).ready() 函数中。
-
尝试在
#error的负载下执行onload()函数,这样它就会隐藏并在其中执行function(){$("#error).hide}或者您可以更改从一开始就隐藏它的css -
用开发者工具检查你的 div - bootstrap 可能会改变这个 div 的行为。
标签: javascript jquery ajax