javascript - 当用户单击提交时,ajax 停止 Bootstrap 模式框关闭

标签 javascript jquery ajax twitter-bootstrap

这个问题解释起来有点棘手,但这里是:

我想在 Bootstrap 模态框中显示结果,执行以下操作:

enter image description here

  1. Selectbox1-->populates-->SelectBox2-->populates-->Selectbox3
  2. 当用户点击提交时从选择框中获取值
  3. 使用选择框值查询数据库
  4. 在模态框中显示结果

我的问题

一切正常,但是当用户点击提交时,模态框关闭,当我再次打开模态框时,结果在模态框内

如何让模态框在用户点击提交时不关闭?

  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Small Modal</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog modal-sm">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Modal Header</h4>
        </div>
        <div class="modal-body">
      <script type="text/javascript">
$("form").on("submit", function(e) {
  var formData = $(this).serialize();
  e.preventDefault();
  $.ajax({
    url: 'functionTest.php',
    data: formData,
    type: 'post',
    success: function(data) {
        $('#resultForm').replaceWith(data);

    }

  });
});

</script>
<script type="text/javascript">
$(document).ready(function()
{
 $(".sport").change(function()
 {
  var id=$(this).val();
  var dataString = 'id='+ id;

  $.ajax
  ({
   type: "POST",
   url: "get_sport.php",
   dataType : 'html',
   data: dataString,
   cache: false,
   success: function(html)
   {
      $(".tournament").html(html);
   } 
   });
  });


 $(".tournament").change(function()
 {
  var id=$(this).val();
  var dataString = 'id='+ id;

  $.ajax
  ({
   type: "POST",
   url: "get_round.php",
   data: dataString,
   cache: false,
   success: function(html)
   {
    $(".round").html(html);
   } 
   });
  });

});
</script>

</head>

<body>

         <center>
<div>
<label>Sport :</label> 
<form method="post" id="resultForm" name="resultForm">
<select name="sport" class="sport">
<option selected="selected">--Select Sport--</option>
<?php
    include('connect.php');
 $sql="SELECT distinct sport_type FROM events";
 $result=mysql_query($sql);
 while($row=mysql_fetch_array($result))
 {
  ?>
        <option value="<?php echo $row['sport_type']; ?>"><?php echo $row['sport_type']; ?></option>
        <?php
 } 
?>
</select>

<label>Tournamet :</label> <select name="tournament" class="tournament">
<option selected="selected">--Select Tournament--</option>
</select>


<label>Round :</label> <select name="round" class="round">
<option selected="selected">--Select Round--</option>
</select>
<input type="submit" value="View Picks" name="submit" />
</form>


<?php
if(isset($_POST['submit'])){
echo  $tour = $_POST['tournament'];
 echo $round = $_POST['round'];
    }

最佳答案

您似乎缺少“return false”;在您的表单提交事件处理程序中:

$("form").on("submit", function(e) {
  var formData = $(this).serialize();
  e.preventDefault();
  $.ajax({
    url: 'functionTest.php',
    data: formData,
    type: 'post',
    success: function(data) {
        $('#resultForm').replaceWith(data);

    }

  });
  //Return false to cancel submit
  return false;
}); 

关于javascript - 当用户单击提交时,ajax 停止 Bootstrap 模式框关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31290459/

相关文章:

javascript - jQuery Accordion 中的表单 : how to get tab key to open next tab?

jquery - 如何为网格中的图像添加内部阴影?

Jquery 正则表达式 - 查找和格式化相似的文本部分

javascript - 提交表单会触发一个 ajax 调用,该调用会在成功时发布到操作页面

javascript - 修改 jQuery 创建的输入

javascript - 什么是ExtJS的替代品?

javascript - Safari iOS 6 - ajax 请求 blob 图像

javascript - 使用 Ajax 调用加载外部页面后如何附加事件处理程序?

javascript - 如何将数据从 EJS 模板传递到 AngularJS Controller

javascript - 无法使用 Angular.js 动态设置值