Create Dynamic Modal Dialog Form in AdminLTE Bootstrap template

原文地址

Create modal dialog form in jquery using bootstrap framework, slightly different from the usual way of jquery-ui. In bootstrap tutorial, we create modal dialog form like the example below

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!-- Button trigger modal -->
<button type= "button" class = "btn btn-primary btn-lg" data-toggle= "modal" data-target= "#myModal" >
   Launch demo modal
</button>
<!-- Modal -->
<div class = "modal fade" id= "myModal" tabindex= "-1" role= "dialog" aria-labelledby= "myModalLabel" aria-hidden= "true" >
   <div class = "modal-dialog" >
     <div class = "modal-content" >
       <div class = "modal-header" >
         <button type= "button" class = "close" data-dismiss= "modal" ><span aria-hidden= "true" >&times;</span><span class = "sr-only" >Close</span></button>
         <h4 class = "modal-title" id= "myModalLabel" >Modal title</h4>
       </div>
       <div class = "modal-body" >
         ...
       </div>
       <div class = "modal-footer" >
         <button type= "button" class = "btn btn-default" data-dismiss= "modal" >Close</button>
         <button type= "button" class = "btn btn-primary" >Save changes</button>
       </div>
     </div>
   </div>
</div>

Some of the rules on the use of the bootstrap modals as quoted on the bootstrap’s official website is as follows

 

Overlapping modals not supported
Be sure not to open a modal while another is still visible. Showing more than one modal at a time requires custom code.

Modal markup placement
Always try to place a modal’s HTML code in a top-level position in your document to avoid other components affecting the modal’s appearance and/or functionality.

Mobile device caveats
There are some caveats regarding using modals on mobile devices.

Let’s try to create a dynamic modal form in the bootstrap
1. Make sure you have adminLTE bootstrap template, please download from the official website.
2. In bootstrap, we have 3 optional modal form dialog sizes (Large,Standart,Small).
3. There are 3 classes in the modal-dialog content creation

1
2
3
<div class = "modal-header" ></div>
<div class = "modal-body" ></div>
<div class = "modal-footer" ></div>

4. Create php file as modals.php and copy this code below

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!DOCTYPE html>
<html>
     <head>
         <meta charset= "UTF-8" >
         <title>Dynamic modal dialog form bootstrap</title>
         <meta content= 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name= 'viewport' >
        <link rel= "stylesheet" href= "//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css" >
         <link href= "../css/bootstrap.min.css" rel= "stylesheet" type= "text/css" />
         <link href= "../font-awesome-4.1.0/css/font-awesome.min.css" rel= "stylesheet" type= "text/css" />
         <link href= "../css/AdminLTE.css" rel= "stylesheet" type= "text/css" />
     </head>
     <body class = "skin-black" >
         <?php include "layout/header.php" ?>
         <div class = "wrapper row-offcanvas row-offcanvas-left" >
             <?php //include "layout/left_sidebar.php" ?>
             <aside class = "right-side" >
                 <section class = "content-header" >
                     <h1>
                       How to create Dynamic modal dialog form bootstrap
                     </h1>
                 </section>
                 <section class = "content" >
                     <div class = "box box-primary" >
                 <div class = "row" >
                     <div class = "col-md-2" >
                         <select class = "form-control" id= "mysize" >
                           <option value= "small" >Small</option>
                           <option value= "standart" >Standart</option>
                           <option value= "large" >Large</option>
                         </select>
                     </div>
                 </div><br/>
 
                  <div class = "row" >
                     <div class = "col-md-4" >
<button type= "button" class = "btn btn-primary btn-lg" onClick= "open_container();" > Launch demo modal</button>
                     </div>
                 </div>
                 <!-- Modal form-->
                 <div class = "modal fade" id= "myModal" tabindex= "-1" role= "dialog" aria-labelledby= "myModalLabel" aria-hidden= "true" >
                   <div class = "modal-dialog " >
                     <div class = "modal-content" >
                       <div class = "modal-header" >
                         <button type= "button" class = "close" data-dismiss= "modal" ><span aria-hidden= "true" >&times;</span><span class = "sr-only" >Close</span></button>
                         <h4 class = "modal-title" id= "myModalLabel" ></h4>
                       </div>
                       <div class = "modal-body" id= "modal-bodyku" >
                       </div>
                       <div class = "modal-footer" id= "modal-footerq" >
                       </div>
                     </div>
                   </div>
                 </div>
                 <!-- end of modal ------------------------------>
                     </div>
 
                 </section><!-- /.content -->
             </aside><!-- /.right-side -->
         </div><!-- ./wrapper -->
         <script src= "../js/jquery.min.js" ></script>
         <script src= "//code.jquery.com/ui/1.11.2/jquery-ui.js" ></script>
         <script src= "../js/bootstrap.min.js" type= "text/javascript" ></script>
         <script src= "../js/AdminLTE/app.js" type= "text/javascript" ></script>
     </body>
</html>

To create dynamic modal dialog form ,we need create javascript function , copy this javascript code in above “</body>” code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<script language= "javascript" >
         function open_container()
         {
             var size=document.getElementById( 'mysize' ).value;
             var content = '<form role="form"><div class="form-group"><label for="exampleInputEmail1">Email address</label><input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email"></div><div class="form-group"><label for="exampleInputPassword1">Password</label><input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password"></div><div class="form-group"><label for="exampleInputFile">File input</label><input type="file" id="exampleInputFile"><p class="help-block">Example block-level help text here.</p></div><div class="checkbox"><label><input type="checkbox"> Check me out</label></div><button type="submit" class="btn btn-default">Submit</button></form>' ;
             var title = 'My dynamic modal dialog form with bootstrap' ;
             var footer = '<button type="button" class="btn btn-default" data-dismiss="modal">Close</button><button type="button" class="btn btn-primary">Save changes</button>' ;
             setModalBox(title,content,footer,size);
             $( '#myModal' ).modal( 'show' );
         }
         function setModalBox(title,content,footer, $size )
         {
             document.getElementById( 'modal-bodyku' ).innerHTML=content;
             document.getElementById( 'myModalLabel' ).innerHTML=title;
             document.getElementById( 'modal-footerq' ).innerHTML=footer;
             if ( $size == 'large' )
             {
                 $( '#myModal' ).attr( 'class' , 'modal fade bs-example-modal-lg' )
                              .attr( 'aria-labelledby' , 'myLargeModalLabel' );
                 $( '.modal-dialog' ).attr( 'class' , 'modal-dialog modal-lg' );
             }
             if ( $size == 'standart' )
             {
                 $( '#myModal' ).attr( 'class' , 'modal fade' )
                              .attr( 'aria-labelledby' , 'myModalLabel' );
                 $( '.modal-dialog' ).attr( 'class' , 'modal-dialog' );
             }
             if ( $size == 'small' )
             {
                 $( '#myModal' ).attr( 'class' , 'modal fade bs-example-modal-sm' )
                              .attr( 'aria-labelledby' , 'mySmallModalLabel' );
                 $( '.modal-dialog' ).attr( 'class' , 'modal-dialog modal-sm' );
             }
         }
         </script>

Very fun to create a website using bootstrap as web templates. Similarly, how to create a dynamic modal dialog form using bootstrap adminLTE. Click here to see demo or visit here to read my another bootstrap tutorial

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值