无法隐藏对话框模型

时间:2017-06-20 11:47:22

标签: javascript jquery html

点击确定但是对话框无法隐藏

时,我尝试了隐藏对话框

不使用 data-dismiss =“modal”,因为点击“确定”按钮后关闭模型

我想当文本框为空时对话框不关闭othrewise关闭单击确定按钮。

function btnModelOKClick() {
        if(validation())
        {
          // what write here code for hide dialog
        }
    }
    
function validation(){
  var name = $('#name').val();
  
  if(name == null || name == "")
  {
    return false;
  }
  return true;
}
<!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">
  <h2>Example</h2>
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
    
      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          
          <h4 class="modal-title">Header</h4>
        </div>
        <div class="modal-body">
        Name : <input type="text" id="name" required/>
        </div>
        <div class="modal-footer">
        
        <button type="button" class="btn btn-default" onclick="btnModelOKClick()">OK</button>
        
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>
      
    </div>
  </div>
  
</div>

</body>
</html>

请帮帮我

5 个答案:

答案 0 :(得分:3)

您的问题在$('#myModel').model('hide');行。

它应该是.modal()而不是.model()。 并确保在id="myModal"中使用正确的$('#myModal')

这是一个有效的演示:

&#13;
&#13;
function btnModelOKClick() {
        if(validation())
        {
          $('#myModal').modal('hide');
        }
    }
    
function validation(){
  var name = $('#name').val();
  
  if(name == null || name == "")
  {
    return false;
  }
  return true;
}
&#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">
  <h2>Example</h2>
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
    
      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          
          <h4 class="modal-title">Header</h4>
        </div>
        <div class="modal-body">
        Name : <input type="text" id="name" required/>
        </div>
        <div class="modal-footer">
        
        <button type="button" class="btn btn-default" onclick="btnModelOKClick()">OK</button>
        
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>
      
    </div>
  </div>
  
</div>

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

答案 1 :(得分:2)

function hideModal(){
    $("#myModal").removeClass("in");
    $(".modal-backdrop").remove();
    $("#myModal").hide();
}

检查此StackOverflow讨论Bootstrap modal hide is not working

答案 2 :(得分:1)

这只是一个拼写错误

更改[HttpPost] public ActionResult UploadFiles(IEnumerable<HttpPostedFileBase> files)

$('#myModel').model('hide');

$('#myModal').modal('hide');
function btnModelOKClick() {
        if(validation())
        {
          $('#myModal').modal('hide');
        }
    }
    
function validation(){
  var name = $('#name').val();
  
  if(name == null || name == "")
  {
    return false;
  }
  return true;
}

答案 3 :(得分:0)

以下代码应该有效:

<!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">
  <h2>Example</h2>
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">

      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">

          <h4 class="modal-title">Header</h4>
        </div>
        <div class="modal-body">
        Name : <input type="text" id="name" required/>
        </div>
        <div class="modal-footer">

        <button type="button" class="btn btn-default" id="modal-ok-button">OK</button>

          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>

    </div>
  </div>

</div>


<script type="text/javascript">

$("#modal-ok-button").click(function(){

var name_text = $("#name").val();

if(name_text != null || name_text != ""){
    $('#myModal').modal('hide')
}
});

</script>


</body>
</html>

答案 4 :(得分:-1)

您的模态ID错误,请尝试以下更正(模型应为模态)

 $('#myModal').modal('hide');