目前项目要用到BUTTON模拟FILE控件的点击事件,
苦恼的是普通模拟后台取不到文件内容,
因为处于安全性的考虑,
FILE控件必须点击自身才能上传文件.
直接用FILE控件吧,样式又太丑!!
后来查了一下资料,
找到一个比较好的解决办法:
<script type="text/javascript"><!-- /*取得选中文件名,并显示在text控件中,便于修改文件名上传s*/ function file_Select(obj) { var name = obj.value.split('//'); $("#txtFileName").val(name[name.length - 1]); } --></script> /*text控件用来修改文件名*/ <input type="text" id="txtFileName" name="fileName" style="180px"/> /*file控件设置成全透明*/ <input type="file" id="fileUploadCV" name="UploadCV" size="1" onchange="file_Select(this);" style="position:absolute; 10px; filter:alpha(opacity=0);-moz-opacity:0; top:0px;" /> /*button控件使用自己定制的样式btnCss,当onmousemove的时候,就把file控件覆盖到button上面,这样点击的就是file控件s*/ <input type="button" class="btnCss" value="Browse..." onmousemove="document.getElementById('fileUploadCV').style.top=(event.clientY-10)+'px'; document.getElementById('fileUploadCV').style.left= (event.clientX)+'px';" />