最近在做一个项目时需要在页面中嵌入弹出窗口,用来展示表单信息。其实这种弹出窗口有很多jquery插件都可以实现,我这边前端都是用Bootstrap的,正好Bootstrap有模态框这个功能,这下就可以直接拿它实现了。

实现步骤如下:

在前端页面引入bootstrap相关的css和js文件

<linkrel="stylesheet"href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"><scripttype='text/javascript'src='../public/js/jquery-1.8.2.min.js'></script><scriptsrc="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><scriptsrc="http://cdn.bootcss.com/bootstrap/2.3.1/js/bootstrap-transition.js"></script><scriptsrc="http://cdn.bootcss.com/bootstrap/2.3.1/js/bootstrap-modal.js"></script>

然后在html中创建一个button用来点击触发弹出窗口,这里是调用f_show函数并传入一个参数向后端发起Ajax请求,Ajax处理请求后返回前端并输出到模态框。

<td><buttontype="button"data-toggle="modal"data-target="#myModal"onclick="f_show('<?phpecho$row['service_tag'];?>');"><?phpecho$row['service_type'];?></button></td>

Ajax处理请求

<script>functionf_show(tags){$.ajax({type:"POST",url:"service_info_ajax.php",data:{"tags":tags},dataType:'json',success:function(data){if(data.state=='1'){$("#service_key").val(data.service_key);$("#service_comments").val(data.service_comments);$("#service_help").val(data.service_help);$("#service_target").val(data.service_target);$("#service_mail").val(data.service_mail);$("#service_mailpass").val(data.service_mailpass);$("#service_date").val(data.service_date);if(data.service_type<='2'){document.getElementById("remark1").style.display="none";document.getElementById("remark2").style.display="none";document.getElementById("notes1").style.display="";document.getElementById("notes2").style.display="";$("#notes2").text(data.service_notes);}else{document.getElementById("notes1").style.display="none";document.getElementById("notes2").style.display="none";document.getElementById("remark1").style.display="";document.getElementById("remark2").style.display="";$("#remark2").text(data.service_remark);}}},});}$('#myModal').modal(options);</script>

后端处理返回

<?phprequire_once("../db.class.php");require_once("../common.class.php");require_once("../mailtmp.class.php");require_once("../admin.class.php");$obj_comm=newComm();$obj_mail=newmailtemplate();$obj_admin=newAdminSub();$tags=trim($_POST['tags']);#$tags="1643e0cb3d6078a9a0fd86c8239cd4c1";$tag_arr=$obj_admin->find_service_tag($tags,$db);if($tag_arr){$tag_arr['state']=1;echojson_encode($tag_arr);}?>

前端模态框页面展示

<!--模态框开始--><divclass="modalfade"role="dialog"aria-labelledby="gridSystemModalLabel"id="myModal"><divclass="modal-dialog"role="document"><divclass="modal-content"><divclass="modal-header"><buttontype="button"class="close"data-dismiss="modal"aria-label="Close"><spanaria-hidden="true">&times;</span></button><h5class="modal-title"id="gridSystemModalLabel">Service</h5></div><divclass="modal-body"><divclass="container-fluid"><divclass="uk-form-row"><divclass="uk-form-controls"><labelfor="form-username"class="uk-form-label">研究关键字</label><inputclass=""id="service_key"value="<?phpecho$ids;?>"readonly="readonly"type="text"name="service_help"placeholder=""></div></div><divclass="uk-form-row"><divclass="uk-form-controls"><labelfor="form-username"class="uk-form-label">评审意见</label><inputclass=""id="service_comments"readonly="readonly"type="text"name="service_help"placeholder=""></div></div><divclass="uk-form-row"><divclass="uk-form-controls"><labelfor="form-username"class="uk-form-label">帮助选刊</label><inputclass=""id="service_help"readonly="readonly"type="text"name="service_help"placeholder=""></div></div><divclass="uk-form-row"><divclass="uk-form-controls"><labelfor="form-username"class="uk-form-label">投稿服务</label><inputclass=""id="service_target"readonly="readonly"type="text"name="service_help"placeholder=""></div></div><divclass="uk-form-row"><divclass="uk-form-controls"><labelfor="form-username"class="uk-form-label">投稿邮箱</label><inputclass=""id="service_mail"readonly="readonly"type="text"name="service_help"placeholder=""></div></div><divclass="uk-form-row"><divclass="uk-form-controls"><labelfor="form-username"class="uk-form-label">邮箱密码</label><inputclass=""id="service_mailpass"readonly="readonly"type="text"name="service_help"placeholder=""></div></div><divclass="uk-form-row"><divclass="uk-form-controls"><labelfor="form-username"class="uk-form-label">投稿加急</label><inputclass=""id="service_date"readonly="readonly"type="text"name="service_help"placeholder=""></div></div><divclass="uk-form-row"><divclass="uk-form-controls"><labelfor="form-username"id="notes1"class="uk-form-label">改写需求</label><textareacols="20"rows="3"readonly="readonly"name="service_notes"id="notes2"placeholder=""></textarea><labelfor="form-username"id="remark1"class="uk-form-label">投稿备注</label><textareacols="20"rows="3"readonly="readonly"name="service_notes"id="remark2"placeholder=""></textarea></div></div></div></div><divclass="modal-footer"><buttontype="button"class="btnbtn-default"data-dismiss="modal">Close</button></div></div><!--/.modal-content--></div><!--/.modal-dialog--></div><!--/.modal--><!--模态框结束-->

实现效果如图: