利用bootbox.js插件实现自定义弹出层

利用bootbox.js插件实现自定义弹出层

<div class="modal-dialog modal-dialog-large">
  <div class="modal-content">
    <div class="modal-header">
      <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
      <h4 class="modal-title">编辑内容</h4>
    </div>
    <div class="modal-body">

<h5>编辑区名称:首页头部图片轮播</h5>

<form id="content-form" action="/admin/content/edit/sliders" method="post">
	<div id="onSuccessDiv" class="alert alert-success" style="display:none"><i class="glyphicon glyphicon-saved"></i> 成功保存编辑区内容。</div>
  	<div id="onFailureDiv" class="alert alert-danger" style="display:none"></div>
  	
	  	<div class="row" id="imagesList">
	  	    <#if indexImageList?has_content>
		  	 	<#list indexImageList as item>
				    ${item}
			 	</#list>
			 <#else>
			    <div class="col-xs-6">暂无轮播图片!</div>
			 </#if> 	
	      </div>
  	
	<input type="hidden" name="blockType" value="">
	<input type="hidden" name="cyclePager" value="<div class='cycle-pager'></div>">
	<div class="form-group">
	    <div class="controls">
	      	<textarea class="form-control" id="blockContent" rows="10" name="content" data-role="editor-field" style="z-index:1000;display:;"> ${(indexImageSliders)!''}</textarea>
	    </div>
	</div>
	
    <div class="form-group" style="padding-top:20px;border-top: 3px solid #eee;">
       <div class="controls">
			<button class="btn btn-default btn-sm" id="slide-upload" suimg type="button">上传图片</button>
			<span class="help-block">请上传宽度不低于960px的图片</span>
	   </div>
	</div>


       <div class="modal-footer"> 
      		 <button type="button" class="btn btn-link" data-dismiss="modal">取消</button>
       		<button type="submit" class="btn btn-primary" data-toggle="form-submit" data-target="#content-form">保存</button>
  	
  	</form>	
  		
</div>
	


    </div>
</div>






<script src="/resources/js/bootbox.js"></script>


<script>
/* 图片上传 */
window.suimg = {
	width:0,
	height:0,
    draw: function(node){
        var suimg = $(node);
		
        window.suimg.make_iframe(suimg);

        suimg.bind("click.suimg", function(){
            var suimg = $(this);
        	window.suimg.width = suimg.data("width")||120;
        	window.suimg.height = suimg.data("height")||120;
            var file = this.uiframe.contents().find("input[type=file]");
            file.bind("change", function(){
                window.suimg_node = suimg;
                file.parents("form:first").submit();
            });
            file.click();
        });
    },
    callback: function(status, json){
        
        bootbox.prompt("请输入跳转链接:", function(result) {                
		  if(result == "" || result == null) {                                             
		    alert("图片上传不成功");
		    window.suimg.make_iframe(window.suimg_node);                             
		  } else {
		    linkAndCallback(result,json);                          
		  }
		});
		
    },
    make_iframe: function(suimg){
        try{$(suimg)[0].uiframe.remove();}catch(e){}
        var url = "/secure/upload/image?callback=parent.window.suimg.callback";
        var iframe = $("<iframe class='suimg_iframe' style='display:none'></iframe>");
        iframe.attr("src", url);
        iframe.attr("frameborder", 0);
        iframe.attr("width", 0);
        iframe.attr("height", 0);
        $(top.document.body).append(iframe);
        $(suimg)[0].uiframe = iframe;
    }
};

$.suimg = window.suimg;
$.fn.suimg = function() {
    $.suimg.draw(this);
};


app.load('content/content-update');


$("#slide-upload").suimg();


//弹出输入框
function show_prompt(){  
    var value = prompt('请输入跳转链接:', '');  
    if(value == null){
        return null; 
    }else if(value == ''){
        alert("跳转链接不能为空!"); 
        show_prompt();  
    }else{
        return value;  
    }  
} 

//上传图片回调函数--中调用的方法
function linkAndCallback(obj,json){
           var skiplink=obj;
			var col=$("<div class='col-xs-3 col-md-6' id='colImages' > </div>");
			//图片
			var control=$("<div class='controls imagesContentLink'> </div>");
			var imageA=$(" <a class='cycle-slide thumbnail' style='padding:0px;'> </a>")
			imageA.css("margin-bottom:5px;");
			imageA.attr('href', skiplink);//跳转链接
			var imagetupi=$("<img  alt=''>");
			imagetupi.attr('src', json.url);
			
			imageA.append(imagetupi);//
			control.append(imageA);//
			col.append(control);
			
			//按钮
			var btnDiv=$("<div style='float:right;margin-bottom:15px;padding-right:15px;'> </div>");
			var editBtnDiv=$("<span class='btn btn-info editorImages' style='margin-right:10px;'  οnclick='editorImages(this);' >编辑</span>");
			var delBtnDiv=$("<span class='btn btn-success deleteImages' οnclick='deleteImages(this);' >删除</span>");
			btnDiv.append(editBtnDiv);
			btnDiv.append(delBtnDiv);
			col.append(btnDiv);
			
			$("#imagesList").append(col);
			
			var tlink="http://www.hao123.com";
			var c = $("#blockContent").val();
			$("#blockContent").val(c + '\r\n <a href="'+skiplink+'" class="cycle-slide thumbnail" style="padding:0px;margin-bottom:5px;" target="_blank"><img src="' + json.url + '"/></a>');
			
			//恢复form
			window.suimg.make_iframe(window.suimg_node);

}

//删除图片
function deleteImages(obj){
   if(confirm("你确定要删除吗?")){
	     $(obj).parents("#colImages").remove();
	     
	     var content="";
	     var count= $("#imagesList #colImages").length;
	     //alert(count);
	      for(var i=0;i<count;i++){
		      var htmltxt = $("#imagesList #colImages").eq(i).children(".imagesContentLink").html();
		      content=content+htmltxt;
		      //alert(content)
		  }
		  $("#blockContent").val(content);
   }
}

//编辑图片
function editorImages(obj){
    var href= $(obj).parents("#colImages").children(".imagesContentLink").children(".thumbnail").attr("href");
	bootbox.dialog({
	  message: "图片跳转链接:<input type='text' id='result' class='form-control' name='result' value='"+href+"' ></input>",
	  title: "修改图片跳转链接",
	  buttons: {
	    main: {
	      label: "确定",
	      className: "btn-primary",
	      callback: function() {
		      console.log("Hi "+ $('#result').val());
		      var result=$.trim($('#result').val());
		      if(result == "" || result == null) {                                             
			     alert("图片跳转链接不能为空!");
			     return;
			  } else {
			        $(obj).parents("#colImages").children(".imagesContentLink").children(".thumbnail").attr("href",result);
			        var content="";
				    var count= $("#imagesList #colImages").length;
				    //alert(count);
				    for(var i=0;i<count;i++){
					      var htmltxt = $("#imagesList #colImages").eq(i).children(".imagesContentLink").html();
					      content=content+htmltxt;
					      //alert(content)
					}
					$("#blockContent").val(content);                         
			  }
	      }
	    }
	  }
	});
}



</script>



很全面的Ace Admin1.3官方文档,包含有最全面的组件及例子,适合急需使用该技术开发的人。 响应式Bootstrap网站后台管理系统模板ace admin,非常不错的轻量级易用的admin后台管理系统,基于Bootstrap3,拥有强大的功能组件以及UI组件,基本能满足后台管理系统的需求,而且能根据不同设备适配显示,而且还有四个主题可以切换。 网页图标全采用FontAwesome,除Bootstrap,jQuery UI使用到的第三方插件有: jQuery 2.0.3 jQuery UI 1.10.3 (Custom Build) Twitter Bootstrap 3.0.0 FontAwesome 3.2.1 Google "Open Sans" Font jQuery Flot Charts 0.8.1 jQuery Sparklines 2.1.2 Easy Pie Chart 1.2.5 jQuery Knob 1.2.0 jQuery Validate 1.11.1 FuelUX 2.3.0 (Spinner & Wizard & Treeview) FullCalendar 1.6.4 jQuery ColorBox 1.4.27 jQuery dataTables 1.9.4 jQuery Chosen 1.0 jQuery Masked Input 1.3.1 jQuery Input Limiter 1.3.1 jQuery AutoSize 1.17.7 Bootstrap Colorpicker Bootstrap Datepicker Bootstrap Timepicker v0.2.3 Bootstrap DateRange Picker 1.2 Bootbox.js 4.0.0 jQuery Gritter 1.7.4 jQuery slimScroll 1.1.1 Spin.js 1.3.0 jQuery UI Touch Punch 0.2.2 Google Code Prettify ExplorerCanvas Mindmup Wysiwyg Editor Toopay Markdown Editor 1.1.4 X-editable 1.4.6 Select2 3.4.2 Bootstrap Tags 2.2.5 jQuery Mobile 1.3.2 (Custom Build) jqGrid 4.5.2 Dropzone.js 3.0 Nestable lists plugin 浏览器兼容: Firefox 5+ Google Chrome 14+ Internet Explorer 8 Internet Explorer 9 Opera 11 Safari 5 Bootstrap兼容: Bootstrap 2.2.x Bootstrap 2.3.x Bootstrap 3.0.x ace admin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值