我有一个页面,在3列中显示6个引导卡。每个引导卡显示图像、名称、描述和页脚按钮。当用户单击引导卡页脚按钮时,将打开一个引导模式,该模式按ID显示Sql行数据并进入该引导模式,该模式有2个输入和一个textarea表单,如下所述:
1. <input type="text" name="name" id="name" class="form-control" required />
2. <input type="email" name="email" id="email" class="form-control" required />
3. <textarea class="form-control" type="text" name="message" id="message" rows="3"
required></textarea>
为了打开带有尊重ID的Modal,我在按钮卡代码中插入了一个PHP代码,如下所示:
<button type="button" class="btn btn-block btn-primary" data-toggle="modal"
data-target="#dataModal<?php echo $record['ID']; ?>">View Details</button>
其中
当用户填写表单并单击ModalSubmit按钮时,所有数据都被发送到数据库,这是正常的,但在Ajax成功后引导模式不会隐藏。
我用来通过php代码(insert.php)在数据库中插入数据的Ajax脚本是:
<script type="text/javascript" language="javascript" >
$(document).on('submit', '#contactForm', function(event){
event.preventDefault();
$.ajax({
url:"insert.php",
method:'POST',
data:new FormData(this),
contentType:false,
processData:false,
success:function(data){
alert("Message sent!");
$("#contactForm")[0].reset();
$('#dataModal').hide();
$(".modal-backdrop").remove();
}
});
});
</script>
我认为这个问题与Ajax成功上的这一行有关:
$('#dataModal')。隐藏();
因为Bootstrap Modal html id属性是"dataModal
在这种情况下,如果我把这样
$('#dataModal
以下是完整的代码:
<div class="container">
<?php
include_once("includes/mysqli_connection.php");
$sql = "SELECT * FROM products ORDER BY RAND() LIMIT 6";
$resultset = mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn));
while( $record = mysqli_fetch_assoc($resultset) ) {
?>
<div class="card-deck" style="width: 18rem; display:inline-block; margin:15px;">
<div class="card">
<?php echo '<img src="upload/'.$record["image"].'" class="img-thumbnail" width="286" height="180" />'; ?>
<div class="card-body" align="center"><h5 class="card-title"><?php echo $record['ProductName']; ?></h5></div>
<div class="card-footer">
<button type="button" class="btn btn-block btn-primary" data-toggle="modal" data-target="#dataModal<?php echo $record['ID']; ?>">View Details</button>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="dataModal<?php echo $record['ID']; ?>" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" >
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" >Product: <?php echo $record['productName']; ?></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="lead">Ask us about this product</div>
<form id="contactForm" method="post">
<div class="form-row">
<div class="col-md-4 mb-3">
<label>Name</label>
<input type="text" name="name" id="name" class="form-control" placeholder="Your name" required />
</div>
<div class="col-md-5 mb-3">
<label>E-mail</label>
<input type="email" name="email" id="email" class="form-control" placeholder="Your e-mail" required />
</div>
</div>
<div class="form-row">
<div class="col-md-12 mb-3">
<label>Message</label>
<textarea class="form-control" type="text" name="message" id="message" rows="3" placeholder="Your message" required></textarea>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">CLOSE</button>
<button type="submit" class="btn btn-success" id="submit" >SEND</button>
</form>
</div>
</div>
</div>
</div>
<?php } ?>
</div>
<script type="text/javascript" language="javascript" >
$(document).on('submit', '#contactForm', function(event){
event.preventDefault();
$.ajax({
url:"insert.php",
method:'POST',
data:new FormData(this),
contentType:false,
processData:false,
success:function(data){
alert("Message sent!");
$("#contactForm")[0].reset();
$('#dataModal').hide();
$(".modal-backdrop").remove();
}
});
});
</script>
在这种情况下,会是什么,我必须做什么?谢谢大家。
编辑:如果你想只隐藏模态,你可以使用$('. modal'). hid()
。
您需要在脚本中设置模态id的值,如:
<script type="text/javascript">
var id = '#dataModal<?php echo $record['ID']; ?>';
</script>
然后您可以使用:
$(id).hide();
我想把数据到数据库通过引导模式与ajax。但提交数据后,模态按钮不会自动关闭。我怎样才能解决这个问题。 下面是引导模式的代码 这是ajax代码
我有一个模态,它有一个形式。我试图提交表单而不使用ajax刷新页面,我成功地提交了表单,但我无法隐藏模态。 带表单的引导模式: 以上模式的Ajax代码: 在弹出Modal后,我在表单中提供了一个随机的支付卡详细信息,在我提交表单后,使用ajax post调用将详细信息发布到db中,并显示支付成功的警报。但是,我无法关闭模式。请解决这个问题??
我读了这里的帖子,我的Bootstrap网站,并且疯狂地搜索--但是找不到我确信是一个简单的答案。 我有一个从link_to帮助器打开的引导模式,如下所示: 在我的操作中,我的代码创建然后传递到。在中,我有一些错误处理代码(ruby和javascript的混合)。如果一切顺利,我想关闭模态。 这就是我遇到麻烦的地方。当一切顺利时,我似乎不能放弃模态。 我尝试了,但没有效果。我还尝试过,这会使模态消
这是我的母版页表单代码 这是我的内容页 href=“http://code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css”> 学院/大学毕业日期
本文向大家介绍javascript模拟post提交隐藏地址栏的参数,包括了javascript模拟post提交隐藏地址栏的参数的使用技巧和注意事项,需要的朋友参考一下 通过js模拟post提交 1:请求需要的参数过长,超过get允许的最大长度 2:想要隐藏地址栏的参数
我尝试了下面的代码在移动和桌面上以不同的方式显示。但是两个句子同时显示。