【问题标题】:change form on button click单击按钮更改表单
【发布时间】:2020-09-16 20:07:46
【问题描述】:

我有 bootstrap4 注册表单,我想通过按下登录按钮将其更改为登录表单,但是当我按下它时没有任何反应,只是白页。我无法在注册表单所在的同一位置看到我的登录表单。有什么问题?:

jQuery(document).ready(function($){
      $('.signupForm').hide();
      $(".login").click(function(){
        $('.reg').hide();
        $(".signupForm").show(300);
      });
    });
 <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
 <script
  src="https://code.jquery.com/jquery-3.5.1.js"
  integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
  crossorigin="anonymous"></script>
 <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
 <section>
        <div class="container reg">
          <div class="row justify-content-center">
            <div class="col-12 col-md-8 col-lg-8 col-xl-6">
              <div class="row">
                <div class="col text-center">
                  <h1>Register</h1>
                </div>
              </div>
              <div class="row align-items-center mt-4">
                <div class="col">
                  <input type="email" class="form-control" placeholder="Email">
                </div>
              </div>
              <div class="row align-items-center mt-4">
                <div class="col">
                  <input type="password" class="form-control" placeholder="Password">
                </div>
              </div>
              <div class="row justify-content-start mt-4">
                <div class="col">
                  <button class="btn btn-primary mt-4">Register</button>
                  <button class="btn btn-primary mt-4 login">Login</button>
                </div>
              </div>
            </div>
          </div>
    
    <div class="signupForm">
      <div class="row align-items-center mt-4">
        <div class="col">
          <input type="email" class="form-control" placeholder="Email">
        </div>
      </div>
      <div class="row align-items-center mt-4">
        <div class="col">
          <input type="password" class="form-control" placeholder="Password">
        </div>
      </div>  
    </div>
        </div>
      </section>

【问题讨论】:

  • 我找不到任何具有 signupForm 类的元素,请包含所有相关代码。
  • @CarstenLøvboAndersen,我已经添加了它。请再次检查。

标签: html jquery forms bootstrap-4


【解决方案1】:

问题是您的.signupForm 存在于.reg 中,这就是它不显示的原因。

所以我已将reg 从:

<div class="container reg">

下至:

<div class="row justify-content-center reg">

演示

jQuery(document).ready(function($) {
  $('.signupForm').hide();
  $(".login").click(function() {
    $('.reg').hide();
    $(".signupForm").show(300);
  });
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous"></script>
html:

<section>
  <div class="container">
    <div class="row justify-content-center reg">
      <div class="col-12 col-md-8 col-lg-8 col-xl-6">
        <div class="row">
          <div class="col text-center">
            <h1>Register</h1>
          </div>
        </div>
        <div class="row align-items-center mt-4">
          <div class="col">
            <input type="email" class="form-control" placeholder="Email">
          </div>
        </div>
        <div class="row align-items-center mt-4">
          <div class="col">
            <input type="password" class="form-control" placeholder="Password">
          </div>
        </div>
        <div class="row justify-content-start mt-4">
          <div class="col">
            <button class="btn btn-primary mt-4">Register</button>
            <button class="btn btn-primary mt-4 login">Login</button>
          </div>
        </div>
      </div>
    </div>

    <div class="signupForm">
      <div class="row align-items-center mt-4">
        <div class="col">
          <input type="email" class="form-control" placeholder="Email">
        </div>
      </div>
      <div class="row align-items-center mt-4">
        <div class="col">
          <input type="password" class="form-control" placeholder="Password">
        </div>
      </div>
    </div>
  </div>
</section>

【讨论】:

  • 请您再回答一个问题。当我刷新页面时,signupform 出现又消失。如何避免?
  • @abby 在你的 CSS 中。我会添加.signupForm{ display:none;}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 2018-04-13
  • 2011-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-03
相关资源
最近更新 更多