2014-01-30 50 views
0

我想讓Modals與我的頁面一起工作,我使用spring-mvc 3.2和bootstrap 3.0.3。 點擊「添加用戶」按鈕不起作用,甚至當我設置模態視圖顯示時,它不能用關閉按鈕關閉。Bootstrap 3模式窗口不適用於彈簧mvc

我該如何解決?

下面是jsp頁面代碼:

<!doctype html> 
<%@taglib uri="http://www.springframework.org/tags" prefix="spring" %> 
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %> 
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

<html> 
    <head> 
    <meta charset="utf-8"> 
    <titlTest modals</title> 

    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

    <link href="<c:url value="/resources/css/bootstrap.css" />" rel="stylesheet" type="text/css" /> 

    <script type="text/javascript" src='<c:url value="/resources/js/bootstrap.js" />'></script> 
    <script type="text/javascript" src='<c:url value="/resources/js/jquery-1.9.1.js" />'></script> 
</head> 

<body> 
    <div class="container"> 
     <button class="btn btn-danger btn-mini" data-toggle="modal" data-target="#editUserModal"> 
      Add user 
     </button> 
    </div> 
    <div class="modal fade" id="editUserModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
     <div class="modal-dialog"> 
      <form:form method="post" action="/admin/users/update" commandName="user" role="form"> 
       <div class="modal-content"> 
        <div class="modal-header"> 
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
         <h4 class="modal-title" id="myModalLabel">Modify user</h4> 
        </div> 
        <div class="modal-body"> 
         <form:hidden path="id" placeholder="Id" value="${user.id}"/> 
         <div class="form-group"> 
          <form:label path="firstName">First Name:</form:label> 
          <form:input path="firstName" class="form-control" placeholder="First Name" value="${user.firstName}"/> 
         </div> 
         <div class="form-group"> 
          <form:label path="lastName">Last Name:</form:label> 
          <form:input path="lastName" class="form-control" placeholder="Last Name" value="${user.lastName}"/> 
         </div> 
         <div class="form-group"> 
          <form:label path="email">Email:</form:label> 
          <form:input path="email" class="form-control" placeholder="Email" value="${user.email}"/> 
         </div> 
        </div> 
        <div class="modal-footer"> 
         <button type="submit" class="btn btn-primary">Save changes</button> 
         <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
        </div> 
       </div><!-- /.modal-content --> 
      </form:form> 
     </div><!-- /.modal-dialog --> 
    </div><!-- /.modal --> 
</body> 

生成的HTML代碼:

<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Test modals</title> 

    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

    <link href="/resources/css/bootstrap.css" rel="stylesheet" type="text/css" /> 

    <script type="text/javascript" src='/resources/js/bootstrap.js'></script> 
    <script type="text/javascript" src='/resources/js/jquery-1.9.1.js'></script> 
</head> 

<body> 
    <div class="container"> 
      <button class="btn btn-danger btn-mini" data-toggle="modal" data-target="#editUserModal"> 
       Add user 
      </button> 
    </div> 
    <div class="modal fade" id="editUserModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
     <div class="modal-dialog"> 
      <form id="user" role="form" action="/admin/users/update" method="post"> 
       <div class="modal-content"> 
        <div class="modal-header"> 
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
         <h4 class="modal-title" id="myModalLabel">Modify user</h4> 
        </div> 
        <div class="modal-body"> 
         <input id="id" name="id" placeholder="Id" value="0" type="hidden" value="0"/> 
         <div class="form-group"> 
          <label for="firstName">First Name:</label> 
          <input id="firstName" name="firstName" placeholder="First Name" class="form-control" type="text" value=""/> 
         </div> 
         <div class="form-group"> 
          <label for="lastName">Last Name:</label> 
          <input id="lastName" name="lastName" placeholder="Last Name" class="form-control" type="text" value=""/> 
         </div> 
         <div class="form-group"> 
          <label for="email">Email:</label> 
          <input id="email" name="email" placeholder="Email" class="form-control" type="text" value=""/> 
         </div> 
         <div class="form-group"> 
          <label for="password">Password:</label> 
          <input id="password" name="password" placeholder="Password" class="form-control" type="text" value=""/> 
         </div> 
        </div> 
        <div class="modal-footer"> 
         <button type="submit" class="btn btn-primary">Save changes</button> 
         <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
        </div> 
       </div><!-- /.modal-content --> 
      </form> 
     </div><!-- /.modal-dialog --> 
    </div><!-- /.modal --> 
</body> 

+0

你肯定有在控制檯中沒有錯誤? – Alessio

+0

不是js開發者,我怎麼看到在chrome – BanditoBunny

+1

啊,包括jquery-1.9.1.js和bootstrap.js之前。在鉻 - | right-click-> inspect-element-> console – Alessio

回答

1

您需要包含jquery和bootstrap,因爲引導程序需要jquery才能工作。

因此,切換的這兩行代碼

<script type="text/javascript" src='<c:url value="/resources/js/jquery-1.9.1.js" />'></script> 
<script type="text/javascript" src='<c:url value="/resources/js/bootstrap.js" />'></script> 
+1

此外,把這些腳本的聲明在文檔中建議的身體的底部。 – Mannekenpix

0

我認爲,

<form:form method="post" action="/admin/users/update" commandName="user" role="form"> 

應該是內部

<div class="modal-body"> 
+0

試過了,移動整個塊內 – BanditoBunny

0

Bootsrap.js是使用jQuery構建。所以它必須包括在jquery後

只交換兩個包含行,它應該像doc一樣工作!

<script type="text/javascript" src='<c:url value="/resources/js/jquery-1.9.1.js" />'></script> 
<script type="text/javascript" src='<c:url value="/resources/js/bootstrap.js" />'></script>