单击BootStrap

时间:2017-06-12 13:43:20

标签: javascript jquery html twitter-bootstrap-3 bootstrap-modal

看看下面的代码:

<div class="loginPanel">
    <div class="myFormContainer">
        <div class="myPanelHeadingContainer">
            <h3 class="myPanelTitle">
              Login
            </h3>
            <span id="flipper1">
              <a href="#">Register</a>
            </span>
        </div>
        <div class="myPanelBody">
            <form id="loginForm">
                <div class="form-group">
                    <label for="authCode">Authentication Code</label>
                        <input type="password" class="form-control" id="authCode" placeholder="Auth code" />
                </div>
                <button type="submit" class="btn btn-default" data-toggle="modal" data-target="#loadingModal">Submit</button>
            </form>
        </div>
    </div>
</div>
    <div class="registerPanel">
        <div class="myFormContainer">
            <div class="myPanelHeadingContainer">
                <h3 class="myPanelTitle">
                  Register
                </h3>
                <span id="flipper2">
                  <a href="#">Login</a>
                </span>
            </div>
            <div class="myPanelBody">
                <form id="registerForm">
                    <div class="form-group">
                        <label for="firstName">First Name</label>
                        <input type="text" class="form-control" id="firstName" placeholder="Your name here" />
                    </div>
                    <div class="form-group">
                        <label for="newAuthCode">New Authentication Code</label>
                        <input type="password" class="form-control" id="newAuthCode" placeholder="New auth code" />
                    </div>
                    <div class="form-group">
                        <label for="clientSecret">Client Secret</label>
                        <input type="password" class="form-control" id="clientSecret" placeholder="Client secret" />
                    </div>
                    <button type="submit" class="btn btn-default" data-toggle="modal" data-target="#loadingModal">Submit</button>
                </form>
            </div>
        </div>
    </div>
    <div class="modal fade" id="loadingModal" tabindex="-1" role="dialog">
        <div class="modal-dialog modal-sm" role="document">
             <div class="modal-content">
                <div class="sk-fading-circle">
                  <div class="sk-circle1 sk-circle"></div>
                  <div class="sk-circle2 sk-circle"></div>
                  <div class="sk-circle3 sk-circle"></div>
                  <div class="sk-circle4 sk-circle"></div>
                  <div class="sk-circle5 sk-circle"></div>
                  <div class="sk-circle6 sk-circle"></div>
                  <div class="sk-circle7 sk-circle"></div>
                  <div class="sk-circle8 sk-circle"></div>
                  <div class="sk-circle9 sk-circle"></div>
                  <div class="sk-circle10 sk-circle"></div>
                  <div class="sk-circle11 sk-circle"></div>
                  <div class="sk-circle12 sk-circle"></div>
                </div>
            </div>
        </div>
    </div>

因为,您可以看到...当在任一表单中单击提交按钮时,预计会弹出模态。但是,当我单击“登录”表单中的“提交”按钮时,没有任何反应。我知道我犯了一些错误,因为它在几小时后工作正常然后我不知道我做错了什么,现在我的代码完全坏了。模态窗口用于显示加载微调器。在上面的代码中,您可以在每个表单中看到一个锚元素,分别带有文本Register和Login。我不知道是否有必要,但我会解释它的作用。我想隐藏登录表单并在单击“注册”链接时显示注册表单。注册表单也有一个按钮,其方式相同,隐藏自身并使登录表单处于可视状态。注册表单还有一个提交按钮,单击该按钮时会触发模态。

如上所述,单击“登录”表单中的“提交”按钮时,模式不会弹出。但是当我切换到注册表单并单击“提交”时,它会触发模态。更有趣的是,当我切换回Login表单并单击“提交”时,它还会按预期显示模式。简而言之,当URL更改为myfile.php?#时,一切正常,但是当它是myfile.php或myfile.php?时,我无法从Login窗体的提交按钮触发Modal,而无需至少切换一次该窗体。

2 个答案:

答案 0 :(得分:0)

下面的代码将在按钮点击时启动模态窗口。
这不是使你的逻辑工作的代码,但这只会在按钮点击时弹出模态窗口。
使用的库: jquery 2.1.1,Bootstrap 3.3.7

<link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalLong">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>
<script type="text/javascript" src="js/jquery-2.1.1.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>

参考: https://v4-alpha.getbootstrap.com/components/modal/

答案 1 :(得分:0)

花点时间提交表单并显示模态

你同时做同样的事情,先显示模态,然后提交表格

&#13;
&#13;
function myFunction()
{

  setTimeout(function(){
              
              $("#loginForm").submit(); // if you want            
          }, 2000);


  return false;

}
&#13;
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  
  <div class="loginPanel">
    <div class="myFormContainer">
        <div class="myPanelHeadingContainer">
            <h3 class="myPanelTitle">
              Login
            </h3>
            <span id="flipper1">
              <a href="#">Register</a>
            </span>
        </div>
        <div class="myPanelBody">
            <form id="loginForm"  >
                <div class="form-group">
                    <label for="authCode">Authentication Code</label>
                        <input type="password" class="form-control" id="authCode" placeholder="Auth code" />
                </div>
                <button onclick="return myFunction();" class="btn btn-default" data-toggle="modal" data-target="#loadingModal">Submit</button>
            </form>
        </div>
    </div>
</div>
    
    <div class="modal fade" id="loadingModal" tabindex="-1" role="dialog">
        <div class="modal-dialog modal-sm" role="document">
             <div class="modal-content">

             loading

            </div>
        </div>
    </div>
  
  </div>

</body>
</html>
&#13;
&#13;
&#13;