动态上传附件 IE与firefox的兼容

xyz2011 2008-05-21 10:28:18
我在页面是这样写的一个动态创建的附件输入框:
function additem(id) {
alert("1");
var row,cell,str;
alert("11");
//row = ("document.all["+'"'+id+'"'+"]").insertRow(-1);
row = document.getElementById(id).insertRow(-1);
alert("122");
if(row != null ) {
cell = row.insertCell(-1);
str="<input type="+'"'+"file"+'"'+" name=uploadFile["+ num +"].file class="+'"'+"dd_input_fullsize_file"+'"'+"'>   <span><a href='http://localhost:8080/SkyProject/message.do?operate=createMessage&resend=false#' onclick='deleteitem(this,"+'"'+"tb"+'"'+");'><img align='absmiddle' src='/SkyProject/images/delete.gif' border='0'/></a></span>"
cell.innerHTML = str;
alert(cell.innerHTML);
}
num++;
}

function deleteitem(obj, id) {
var rowNum,curRow;
curRow = obj.parentNode.parentNode;
rowNum = $(id).rows.length - 1;
$(id).deleteRow(curRow.rowIndex);
}

但是在firefox下面form就是取不到在输入框中的值在IE下面是可以取的到的。

form中的写法
private List myFiles;
public UploadFile getUploadFile(int index) {
if (myFiles == null)
return null;
int size = myFiles.size();
if (index > size - 1) {
for (int i = 0; i < index - size + 1; i++) {
myFiles.add(new UploadFile());
}
}
return (UploadFile) myFiles.get(index);
}

public List getMyFiles() {
return myFiles;
}

public void setMyFiles(List myFiles) {
if (Utilities.isNullOrEmpty(myFiles)) {
myFiles = new ArrayList();
myFiles.add(new UploadFile());
}
this.myFiles = myFiles;
}

public MessageForm() {
myFiles = new ArrayList();
myFiles.add(new UploadFile());
}

相应的UploadFile类里面有:
private FormFile file;

public FormFile getFile() {
return file;
}

public void setFile(FormFile file) {
this.file = file;
}

action 中写了一句话 List files = messageForm.getMyFiles();里面的值在firefox下面就是没有一个值。不知道是不是页面那个地方写错了。请各位帮忙看下。
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyz2011 2008-05-21
  • 打赏
  • 举报
回复
我这个myFiles本身就是定义了一个List的集合啊! List fiels = messageForm.getMyFiles(); ---- 取出来就是一个集合为什么还要在转换成List的呢?是不是在与页面的写法有关系呢? ------

function additem(id) {
var row,cell,str;
row = document.getElementById(id).insertRow(-1);
if(row != null ) {
cell = row.insertCell(-1);
str=" <input type="+'"'+"file"+'"'+" name=uploadFile["+ num +"].file class="+'"'+"dd_input_fullsize_file"+'"'+"'>    <span> <a href='http://localhost:8080/SkyProject/message.do?operate=createMessage&resend=false#' onclick='deleteitem(this,"+'"'+"tb"+'"'+");'> <img align='absmiddle' src='/SkyProject/images/delete.gif' border='0'/> </a> </span>"
cell.innerHTML = str;
alert(cell.innerHTML);
}
num++;
}

我查了半天没查到啊?请帮帮忙?
xyz2011 2008-05-21
  • 打赏
  • 举报
回复
我这个myFiles本身就是定义了一个List的集合啊! List fiels = messageForm.getMyFiles(); ---- 取出来就是一个集合为什么还要在转换成List的呢?是不是在与页面的写法有关系呢? ------

function additem(id) {
var row,cell,str;
row = document.getElementById(id).insertRow(-1);
if(row != null ) {
cell = row.insertCell(-1);
str=" <input type="+'"'+"file"+'"'+" name=uploadFile["+ num +"].file class="+'"'+"dd_input_fullsize_file"+'"'+"'>    <span> <a href='http://localhost:8080/SkyProject/message.do?operate=createMessage&resend=false#' onclick='deleteitem(this,"+'"'+"tb"+'"'+");'> <img align='absmiddle' src='/SkyProject/images/delete.gif' border='0'/> </a> </span>"
cell.innerHTML = str;
alert(cell.innerHTML);
}
num++;
}

我查了半天没查到啊?请帮帮忙?
chenhongxin 2008-05-21
  • 打赏
  • 举报
回复
List files = (LIST)messageForm.getMyFiles();

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧