<!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=utf-8" /> <title>get file input full path</title> <style> .case_photo_area_small { width: 770px; overflow:hidden; } .small_photo { border-top: 2px #BFBFBF solid; border-right: 2px #BFBFBF solid; border-left: 2px #BFBFBF solid; border-bottom: 2px #BFBFBF solid; } .small_photo_selected { border-top: 2px #FFCC00 solid; border-right: 2px #FFCC00 solid; border-left: 2px #FFCC00 solid; border-bottom: 2px #FFCC00 solid; } </style> <script type="text/javascript" language="javascript" src="native_picture.js"></script> </head> <body> <table cellpadding="0" cellspacing="0"> <tbody id="_container"> <tr> <td><input type="file" id="FileUpload1" name="FileUploads" onchange="getFullPath(this,'FileUpload1',true);" /> <a href="javascript:void(0);" onclick="addFile()">添加</a></td> </tr> </tbody> </table> <table border=0 cellspacing=0 cellpadding=0 style="display: none;" id="tableImg"> <tr> <td><img id="beforeX" src="images/left.png"></td> <td> <div class="case_photo_area_small" id="showareX"> <table border=0 cellspacing="1px" cellpadding=0> <tr id="_newPreview"></tr> </table> </div> </td> <td><img id="nextX" src="images/right.png"></td> <td><a href="javascript:void(0);" id="deleThisImg">【删除图片】 </a></td> </tr> </table> </body> </html>
//native_picture.js
var
id = 0;
function
addFile() {
var
tab = document.getElementById(
"_container"
);
var
row = document.createElement(
"tr"
);
var
cell = document.createElement(
"td"
);
var
f = document.createElement(
"input"
);
f.setAttribute(
"type"
,
"file"
);
f.setAttribute(
"id"
,
"FileUpload"
+ (id + 2));
f.setAttribute(
"name"
,
"FileUploads"
);
f.setAttribute(
"contentEditable"
,
false
);
cell.appendChild(f);
var
btndele = document.createElement(
"a"
);
btndele.setAttribute(
"href"
,
"javascript:void(0)"
);
btndele.setAttribute(
"class"
,
"btn2"
);
btndele.innerHTML =
"<span class='toolbar_icon toolbar_icon_07'></span>删除"
;
btndele.setAttribute(
"value"
,
"删除"
);
btndele.setAttribute(
"Id"
,
"del"
+ id);
btndele.onclick =
function
() {
// 删除行
getFullPath(
this
.parentNode.childNodes[0],
this
.parentNode.childNodes[0].getAttribute(
"id"
),
false
);
while
(
true
) {
if
(btndele.tagName ==
"TD"
) {
break
;
}
else
{
btndele = btndele.parentNode;
btndele.parentNode.removeChild(btndele);
}
}
};
f.onchange =
function
() {
getFullPath(
this
,
this
.getAttribute(
"id"
),
true
);
};
cell.appendChild(btndele);
row.appendChild(cell);
tab.appendChild(row);
id++;
}
var
goIndex = 0;
var
countx = 0;
function
getFullPath(obj, fileId, falg) {
//obj:file对象;fileId:"FileUpload"+id; falg:ture 添加或更新图片,false 删除图片
var
gindex = fileId.substring(10);
//取得与file之对应图片id号
var
divImg = document.getElementById(
"divImg"
+ gindex);
// 判断是否含有此id图片
var
newPreview = document.getElementById(
"_newPreview"
);
//指定TR添加节点
var
newPreviewSize = newPreview.childNodes.length;
//TR已添加TD数
var
index =0;
//获得图片索引
if
(newPreviewSize>0){
index=getIndex();
}
var
patn = /.jpg$|.jpeg$|.bmp$/i;
//正则表达式判断上传文件
countx = newPreviewSize;
if
(patn.test(obj.value)) {
if
(falg && divImg ==
null
) {
var
cell = document.createElement(
"td"
);
var
g = document.createElement(
"div"
);
g.setAttribute(
"id"
,
"divImg"
+ gindex);
g.style.width =
"90px"
;
g.style.height =
"90px"
;
//指定位置添加图片
if
(!newPreview.hasChildNodes()||newPreviewSize==index) {
cell.appendChild(g);
newPreview.appendChild(cell);
goIndex=newPreviewSize-1;
}
else
{
cell.appendChild(g);
newPreview.insertBefore(cell, newPreview.childNodes[index]);
goIndex=index-1;
}
iephoto(g);
countx++;
nextX();
}
else
if
(falg) {
iephoto(divImg);
if
(newPreviewSize==1){
goIndex=0;
}
else
{
goIndex=index+1;
}
beforeX();
}
else
{
delephoto();
}
}
else
if
(divImg !=
null
) {
delephoto();
}
else
{
return
false
;
}
styleDivImg();
showhidden();
document.getElementById(
"beforeX"
).onclick=
function
(){
beforeX();
styleDivImg();
};
document.getElementById(
"nextX"
).onclick=
function
(){
nextX();
styleDivImg();
};
// 删除选中的图片
document.getElementById(
"deleThisImg"
).onclick=
function
(){
var
imgNow =newPreview.childNodes[goIndex].getElementsByTagName(
"div"
)[0];
var
buttonIndex=parseInt(imgNow.getAttribute(
"id"
).substring(6));
var
buttonNow =document.getElementById(
"FileUpload"
+buttonIndex);
if
(imgNow&&buttonNow){
imgNow.parentNode.parentNode.removeChild(imgNow.parentNode);
//删除button,若为第一个就清空值
if
(buttonIndex==1){
//buttonNow.select();
//document.execCommand("delete");
buttonNow.outerHTML=buttonNow.outerHTML;
}
else
{
while
(
true
) {
if
(buttonNow.tagName ==
"TD"
) {
break
;
}
else
{
buttonNow =buttonNow.parentNode;
buttonNow.parentNode.removeChild(buttonNow);
}
}
}
countx--;
beforeX();
styleDivImg();
showhidden();
}
};
//图片样式
function
styleDivImg(){
for
(
var
j=0;j<countx;j++){
if
(j==goIndex)
newPreview.childNodes[j].className=
"small_photo_selected"
;
else
newPreview.childNodes[j].className=
"small_photo"
;
}
}
//IE浏览器浏览本地DIV图片路径
function
iephoto(ie){
obj.select();
ie.style.filter =
"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);"
;
ie.filters.item(
"DXImageTransform.Microsoft.AlphaImageLoader"
).src = document.selection.createRange().text;
}
//删除图片
function
delephoto(){
if
(newPreviewSize==1){
goIndex=1;
}
else
{
goIndex= index;
}
countx--;
divImg.parentNode.parentNode.removeChild(divImg.parentNode);
beforeX();
}
//获取索引
function
getIndex(){
var
arr =
new
Array();
var
indexg =0;
// document.getElementById("divImg" + jj);
for
(
var
jj = 0; jj < newPreviewSize; jj++) {
var
gchild = newPreview.childNodes[jj].getElementsByTagName(
"div"
)[0];
arr[jj] = parseInt(gchild.getAttribute(
"id"
).substring(6));
}
if
(divImg==
null
&&falg){
arr[newPreviewSize] = gindex;
}
//对数字排序
function
sortNumber(a,b)
{
return
a - b;
}
arr = arr.sort(sortNumber);
for
(
var
jj=0;jj<arr.length;jj++){
if
(arr[jj]==gindex){
indexg=jj;
break
;
}
}
return
indexg;
}
}
//显示隐藏
function
showhidden(){
var
tableImg = document.getElementById(
"tableImg"
);
if
(countx==0){
tableImg.style.display=
"none"
;
}
else
{
tableImg.style.display=
"block"
;
}
}
//上一个
function
beforeX() {
if
(goIndex <= 0) {
goIndex = countx-1;
}
else
{
goIndex--;
}
document.getElementById(
"showareX"
).scrollLeft = (93) * goIndex;
}
//下一个
function
nextX() {
if
(goIndex+1>=countx) {
goIndex = 0;
}
else
{
goIndex++;
}
document.getElementById(
"showareX"
).scrollLeft = (93) * goIndex;
}
|