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" >×</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" >×</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