日期:2014-05-17  浏览次数:21010 次

html,javascript,让button代替input file上传图片文件

1.只能在ie里用,firefox不行

[size=small]怎么样让button代替input file文件上传,下面一种方法不行(只能在ie里用,firefox不行)
<input id="upimg" name="product[photo]" type="file" style="display:none;" />
<input type="button" value="上传新图片" onclick="upimg.click()" class="bot_2words" align="absmiddle" />

?

2.兼容所有浏览器,button和text代替input file文件上传。下面代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>input file的另类做法</title>
<style type="text/css">
<!--
* { font-size:12px}
body { margin:0}
.line { position:relative; float:left; padding:8px 0}
.line span { float:left}
input { border:1px solid #888; vertical-align:middle}
.file { position:absolute; left:90px; top:8px; display:none;filter:alpha(opacity=0);opacity:0}
.file1 { padding:2px 10px; display:block; float:left; background:#FF66CC; color:#fff; z-index:1; margin-left:5px; vertical-align:middle; cursor: pointer}
.inputstyle { width:150px; border:1px solid #888; z-index:99}
-->
</style>
</head>
<body>
<div class="line"> <span>
  <label>上传文件:</label>
  <input name="" type="text" id="viewfile" onmouseout="document.getElementById('upload').style.display='none';" class="inputstyle" />
  </span>
  <input type='button' for="unload" onmouseover="document.getElementById('upload').style.display='block';" class="file1" value="上传图片" />
  <input type="file" onchange="document.getElementById('viewfile').value=this.value;this.style.display='none';" class="file" id="upload" />
</div>
</body>
</html>

?

?

?