-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
12. 一些样例代码
Kai edited this page Apr 26, 2017
·
6 revisions
把下面的代码加入你的HTML页面的body中,确保已经加载了插件库(详见用法部分)
-
使用
file类自动初始化一个文件输入部件。<label class="control-label"> 选择文件 </label> <input type="file" class="file">
-
隐藏预览缩略图
<label class="control-label"> 选择文件 </label> <input type="file" class="file" data-show-preview="false">
-
使用输入标签的
input属性(如多文件上传设置multiple)来设置输入行为,并通过data-*属性来设置插件参数。样例1:
<label class="control-label"> 选择文件 </label> <input name="input[]" type="file" class="file" multiple data-show-upload="false" data-show-caption="true"> <!-- 多文件上传,不显示上传按钮,显示标题 -->
样例2:
<label class="control-label">Select File</label> <input name="input[]" multiple type="file" class="file file-loading" data-allowed-file-extensions='["csv", "txt"]'> <!-- `file-loading`类的作用是在插件DOM元素加载时显示一个旋转指示器 --> <!-- 允许输入文件的后缀有`csv`和`txt`,使用HTML标记语言传递JSON参数 -->
-
设置文件输入部件为只读或者禁用状态。
<label class="control-label"> 只读输入框 </label>
<input type="file" class="file" readonly="true">
<label class="control-label"> 禁用输入框 </label>
<input type="file" class="file" disabled="true">-
通过JavaScript初始化输入框部件
样例1:
<label class="control-label"> 选择文件 </label> <input id="input" name="input[]" type="file" multiple class="file-loading"> <!-- `file-loading`类作用是在插件DOM元素加载时显示一个旋转指示器 --> <script> $(document).on('ready', function() { $("#input").fileinput({showCaption: false}); //输入框部件只显示选择文件按钮,隐藏标题 }); </script>
样例2:
<label class="control-label"> 选择文件 </label> <input id="input" name="input[]" type="file" multiple class="file-loading"> <script> $(document).on('ready', function() { $("#input").fileinput({ showUpload: false, //隐藏上传按钮 maxFileCount: 10, //输入文件数量最大为10 mainClass: "input-group-lg" //文件输入框为大型号 }); }); </script>
-
初始预览
<label class="control-label"> 行星和卫星 </label> <input id="input" name="input[]" type="file" multiple class="file-loading"> <script> $(document).on('ready', function() { $("#input").fileinput({ initialPreview: [ 'http://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/FullMoon2010.jpg/631px-FullMoon2010.jpg', 'http://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Earth_Eastern_Hemisphere.jpg/600px-Earth_Eastern_Hemisphere.jpg' ], initialPreviewAsData: true, initialPreviewConfig: [ {caption: "Moon.jpg", size: 930321, width: "120px", key: 1}, {caption: "Earth.jpg", size: 1218822, width: "120px", key: 2} ], deleteUrl: "/site/file-delete", //删除操作的URL地址 overwriteInitial: false, //不允许覆盖初始的预览,所以添加文件时不会覆盖 maxFileSize: 100, //文件最大不超过100KB initialCaption: "月球和地球" }); }); </script>
-
精简部件
<label class="control-label"> 选择文件 </label> <input id="input" type="file" class="file-loading"> <script> $(document).on('ready', function() { $("#input").fileinput({ browseClass: "btn btn-primary btn-block", showCaption: false, //不显示标题 showRemove: false, //不显示删除按钮 showUpload: false //不显示上传按钮 }); //只显示选择文件的按钮 }); </script>
-
自定义部件按钮
<label class="control-label">Select File</label> <input id="input-21" type="file" accept="image/*" class="file-loading"> <!-- 只接受图像文件 --> <script> $(document).on('ready', function() { $("#input-21").fileinput({ previewFileType: "image", browseClass: "btn btn-success", browseLabel: "Pick Image", browseIcon: "<i class=\"glyphicon glyphicon-picture\"></i> ", removeClass: "btn btn-danger", removeLabel: "Delete", removeIcon: "<i class=\"glyphicon glyphicon-trash\"></i> ", uploadClass: "btn btn-info", uploadLabel: "Upload", uploadIcon: "<i class=\"glyphicon glyphicon-upload\"></i> " }); }); </script>
-
自定义预览背景
<label class="control-label">Select File</label> <input id="input" name="input[]" type="file" class="file-loading" accept="text/plain" multiple> <script> $(document).on('ready', function() { $("#input").fileinput({ previewFileType: "text", //预览文件类型 allowedFileExtensions: ["txt", "md", "ini", "text"], //允许的文件后缀 previewClass: "bg-warning" //预览样式CSS类 }); }); </script>
-
自定义部件模板
<label class="control-label">Select File</label> <input id="input-23" name="input23[]" type="file" multiple class="file-loading"> <script> $(document).on('ready', function() { $("#input-23").fileinput({ showUpload: false, layoutTemplates: { main1: "{preview}\n" + "<div class=\'input-group {class}\'>\n" + " <div class=\'input-group-btn\'>\n" + " {browse}\n" + " {upload}\n" + " {remove}\n" + " </div>\n" + " {caption}\n" + "</div>" } //把默认的模板反向排列按钮 }); }); </script>
-
动态修改输入框
<label class="control-label">Select File</label> <input id="input" name="input40[]" type="file" class="file" multiple> <br> <button type="button" class="btn btn-warning btn-modify">Modify</button> <script> //当点击`Modify`按钮时,切换文件输入的禁用状态并改变它的参数 $(document).on('ready', function() { $(".btn-modify").on("click", function() { var $btn = $(this); if ($btn.text() == "Modify") { $("#input").fileinput("disable").fileinput("refresh", {showUpload: false}); $btn.html("Revert"); alert("Hurray! I have disabled the input and hidden the upload button."); } else { $("#input").fileinput("enable").fileinput("refresh", {showUpload: true}); $btn.html("Modify"); alert("Hurray! I have reverted back the input to enabled with the upload button."); } }); }); </script>
-
控制上传文件
<label class="control-label">Select File</label> <input id="input" name="input[]" type="file" multiple class="file-loading"> <script> //上传文件类型为图像或者视频,最大上传数量为10 $(document).on('ready', function() { $("#input").fileinput({ maxFileCount: 10, allowedFileTypes: ["image", "video"] }); }); </script>
<label class="control-label">Select File</label> <input id="input" name="input[]" type="file" multiple class="file-loading"> <script> $(document).on('ready', function() { $("#input").fileinput({ maxFileCount: 10, allowedFileExtensions: ["jpg", "gif", "png", "txt"] }); }); </script>
-
自定义错误信息容器
<label class="control-label">Select File</label> <input id="input" name="input[]" type="file" multiple class="file-loading"> <div id="errorBlock" class="help-block"></div> <script> $(document).on('ready', function() { $("#input").fileinput({ showPreview: false, allowedFileExtensions: ["zip", "rar", "gz", "tgz"], elErrorContainer: "#errorBlock" }); }); </script>
-
文件大小控制
<label class="control-label">Select File</label> <input id="input-44" name="input44[]" type="file" multiple class="file-loading"> <div id="errorBlock" class="help-block"></div> <script> $(document).on('ready', function() { $("#input-44").fileinput({ uploadUrl: '/file-upload-batch/2', //未设置此属性,输入框为一条形控件;设置后,出现文件拖拽区域。 maxFilePreviewSize: 10240 //最大文件大小10240KB(10M),如果不设置,默认大小25M }); }); </script>