[英]Modal not shown while clicking the button in BootStrap
看下面的代码:
<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>
如您所见,当以任一形式单击“提交”按钮时,将弹出模态。 但是,当我单击“登录”表单中的“提交”按钮时,没有任何反应。 我知道我犯了一些错误,因为它在几个小时前就可以正常工作,然后我不知道自己做错了什么,现在我的代码已完全损坏。 模态窗口在那里显示加载微调器。 在上面的代码中,您可以在每个表单中分别看到带有文本注册和登录的锚元素。 我不知道是否有必要,但我会解释它的作用。 单击“注册”链接时,我想隐藏“登录”表单并显示注册表单。 注册表还具有一个按钮,该按钮可以隐藏自身并以可视方式显示“登录”表单。 注册表中还包含一个提交按钮,单击该按钮将触发模式。
如前所述,单击“登录”表单中的“提交”按钮时,不会弹出模式。 但是,当我切换到注册表格并单击“提交”时,它将触发模式。 更有趣的是,当我切换回“登录”表单并单击“提交”时,它也显示了预期的模式。 简而言之,当URL更改为myfile.php?#时,一切正常,但是当它为myfile.php或myfile.php?时,我无法在不切换表单至少一次的情况下从“登录”表单的提交按钮触发模式。
下面的代码将在单击按钮时启动模式窗口。
这不是使您的逻辑起作用的代码,但这只会在单击按钮时弹出模式窗口。
使用的库: 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">×</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>
花一些时间提交表格并展示模态
您同时在做同一件事,请先显示模式,然后提交表格
function myFunction() { setTimeout(function(){ $("#loginForm").submit(); // if you want }, 2000); return false; }
<!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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.