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