效果图如下:

思路:

1:打开文件设置为透明,外面包一层标签,给标签设置颜色背景,给人点击浏览其实是点击打开文件的错觉。(给外标签相对定位,打开文件标签绝对定位)。

2:点击浏览后,选择了文件,就把文件名赋值给前面自己创建的input框里面,前面的input框自己单独写出来。给样式。

3:上传按钮既上传文件到服务器的操作,请求接口即可。

代码:

css:

.chooseFile{
border: 1px solid #cccccc;
width: 97%;
height: 28px;
border-radius: 5px;
opacity: 0;
display: inline-block;
position: absolute;
top: 0;
left: 0;
cursor: pointer;
}
#uploadForm{
position: relative;
cursor: pointer;
border-color: #204d74;
border-radius: 4px;
/* overflow: hidden; */
width: 60px;
font-size: 14px;
background-color: #e8340c;
border-radius: 4px;
line-height: 30px;
color: white;
text-align: center;
margin: 0 7px;
}
.inputName{
width: 60%;
height: 30px;
line-height: 30px;
padding: 0 5px;
border: 1px solid #9e9a9a;
border-radius: 5px;
}

HTML:

<div class="title">请选择翻译文件</div>

<div class="ibox-content piliangBox">
<input class="inputName" placeholder="请选择要翻译的文件" type="text" />
<form id="uploadForm" enctype="multipart/form-data" style="display: inline-block; ">
    <input class="chooseFile" id="reportXML" type="file" name="file" /> 浏览
</form>
<button class="scOks upload">上传</button>
</div>

js:

//点击浏览,选择文件
function choseFile() {
var fileInput = $('#reportXML').get(0).files[0];
if(fileInput){
$(".inputName").val(fileInput.name);
}
}
$("#uploadForm").click(function() {
window.setInterval("choseFile()", 100);//采用定时给input赋值,否则光浏览按钮是无法同时既选择文件又同时赋值
})

//上传文件,这个用于上传代码到服务器,与样式无关,可忽略
$(".upload").click(function() {
var fileInput = $('#reportXML').get(0).files[0];
console.info(fileInput);
if(fileInput) {
var cover = 0;
var formData = new FormData($('#uploadForm')[0]);
// formData.append("p", "{'platformId':101,'useMonoid':" +
// localStorage.getItem("monoid") + ",'cover':" + cover +
// "}");
results = Common.prototype.callPostFile("/fileToDevice/uploadFileToDevice.shtml", formData);
var results = JSON.parse(results);
console.log(results, 44)
if(results.code == 8000) {
alert("上传成功");
localStorage.setItem("fid", results.body.fid);
$(".textOld").text(results.body.src);
} else if(results.code == 9014) {
alert("上传文件格式错误!")
}
} else {
alert("请选择上传文件!");
}

})

jQuery上传文件按钮美化的更多相关文章

  1. input type=file 上传文件样式美化(转载)

    input type=file 上传文件样式美化 来源:https://www.jianshu.com/p/6390595e5a36 在做input文本上传时,由于html原生的上传按钮比较丑,需要对 ...

  2. 怎样用纯HTML和CSS更改默认的上传文件按钮样式

    如果你曾经试过,你就会知道,用纯CSS样式加HTML实现统一的上传文件按钮可能会很麻烦.看看下面的不同浏览器的截图.很明显的,他们长得很不一样. 我们的目标是创造一个简洁,用纯CSS实现的,在所有浏览 ...

  3. JQuery 上传文件插件 Uploadify1

    基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. <link href="~/Content/themes/uploadif ...

  4. jquery上传文件控件Uploadify

    基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. 要求使用jquery1.4或以上版本,flash player 9.0.24以上. 有两个 ...

  5. MVC 使用jQuery上传文件

    在ASP.NET MVC Framework中,上传文件真是超级简单,看代码: View <formaction="<%=Url.Action("Process&quo ...

  6. jQuery上传文件控件Uploadify使用

    Uploadify是JQuery的一个上传插件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件等. 首先应下载jQuery和uploadify插件 jQuery下载地址:h ...

  7. [k]自定义上传文件按钮样式

    <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title> ...

  8. JQuery上传文件插件Uploadify使用笔记

    新工作的第一份任务就是给实现 限制Uploadify 上传文件格式为图片 测试出来报错,选择了非图片文件,提示错误后,再选择其他文件,上传时还是包含了之前清空的非图片文件 最后实现效果的代码是 //上 ...

  9. bootstrap改变上传文件按钮样式,并显示已上传文件名

    参考博文: html中,文件上传时使用的<input type="file">的样式自定义 html中<input type="file"&g ...

随机推荐

  1. 牛客-Forsaken的数列(Treap)

    题目传送门 sol:第一次看题还真信了是用线段树来做,但是没什么想法,看了题解发现是我不会的Treap,然后花了几天时间学习了一下并补掉题目 无旋Treap #include <bits/std ...

  2. 对kotlin和java中的synchronized的浅谈

    synchronized在java中是一个关键字,但是在kotlin中是一个内联函数.假如分别在java和kotlin代码锁住同一个对象,会发生什么呢,今天写了代码试了试.首先定义people类 12 ...

  3. python语法基础-函数-迭代器和生成器-长期维护

    ###############    迭代器    ############## """ 迭代器 这是一个新的知识点 我们学习过的可以迭代的对象有哪些? list str ...

  4. 如何消除img间的默认间隙

    方案一:div{font-size:0};方案二:img{ display:block};方案三:img{vertical-align:top;}方案四:div{ margin-bottom:-3px ...

  5. freeRadius日志关闭

    vim /etc/raddb/radiusd.conf #file = ${logdir}/radius.log file = /dev/null vim /etc/raddb/modules/det ...

  6. 转:B树和B+树的插入、删除图文详解

    如需转载,请注明出处 http://www.cnblogs.com/nullzx/ 1. B树 1. B树的定义 B树也称B-树,它是一颗多路平衡查找树.我们描述一颗B树时需要指定它的阶数,阶数表示了 ...

  7. 几个简单又实用的PHP函数

    简单方便使用: /** * 将多维数组转为一维数组 * @param array $arr * @return array */ function ArrMd2Ud($arr) { #将数值第一元素作 ...

  8. JAVAscript的DOM操作及实例

    一.Windows对象操作 (1)用代码打开窗口:window.open("第一部分","第二部分","第三部分","第四部分&q ...

  9. 将本地的一个项目托管到自己的GitHub仓库

    GitHub作为全球最大的代码托管平台,功能十分强大.我们可以在上面建立一个仓库来托管我们的代码图片等资源.因为使用markdown语法来写博客所以在插入图片时需要一个图片外链地址,起初去网上找了一个 ...

  10. Leetcode回溯相关题目Python实现

    1.46题,全排列 https://leetcode-cn.com/problems/permutations/ class Solution(object): def permute(self, n ...