【问题标题】:Hide and show div using Jquery not working使用 Jquery 隐藏和显示 div 不起作用
【发布时间】: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">&times;</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


【解决方案1】:

在页面加载时为错误 div 设置显示为无

<div id="error" class=" col-sm-3  mx-auto  mt-4 alert alert-danger alert-dismissible fade show" role="alert" style="display:none">

【讨论】:

    猜你喜欢
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 2011-11-06
    相关资源
    最近更新 更多