Javascript Chrome和Firefox文件上传浏览错误

Javascript Chrome和Firefox文件上传浏览错误,javascript,jquery,file,google-chrome,file-upload,Javascript,Jquery,File,Google Chrome,File Upload,为了在表单type=“file”上传上具有完整的UI样式,我有一个伪表单字段(#fileName)、浏览、上传按钮。我在下面有一个隐藏的表单,其中包含实际表单字段(#fileAttach)、浏览和上载按钮。我试图触发它,当用户单击browse时,它会触发实际的browse按钮,然后获取实际输入字段的文件路径值,并在伪输入字段中填充文件 browse = function () { $("#fileAttach").click(); var file = $

为了在表单type=“file”上传上具有完整的UI样式,我有一个伪表单字段(#fileName)、浏览、上传按钮。我在下面有一个隐藏的表单,其中包含实际表单字段(#fileAttach)、浏览和上载按钮。我试图触发它,当用户单击browse时,它会触发实际的browse按钮,然后获取实际输入字段的文件路径值,并在伪输入字段中填充文件

    browse = function () {
        $("#fileAttach").click();
        var file = $("#fileAttach").val();
        $("#fileName").val(file);
        }
它适用于Safari和IE。然而,在Chrome和Firefox中,当用户选择文件后,它似乎停止执行。文件名不会传递给伪表单字段。但是,如果我再次启动browse(),它会立即填充伪表单字段的第一个文件路径,然后生成一个新的文件浏览窗口。Chrome/FF似乎只执行函数的第一行并暂停。如果再次调用函数,则执行第2行和第3行,以此类推


这里发生了什么,我该如何解决?提前谢谢。

我发现,浏览器并不喜欢你通过代码触发上传对话框


我总是显示我自己的浏览按钮,并将
输入[type=file]
绝对定位在顶部,使用
不透明度:0
。适用于所有浏览器。

我就是这样做的。也在处理上载问题,但遇到问题会导致Option Explicit语句

不确定这是否是你想要的

.photodiv{
填充:8px 16px;
背景:;
边界:0px;
位置:相对位置;
颜色:#fff;
边界半径:2px;
文本对齐:居中;
浮动:左;
光标:指针
}
.hide_文件{
位置:绝对位置;
z指数:1000;
不透明度:0;
光标:指针;
右:0;
排名:0;
身高:100%;
字体大小:24px;
宽度:100%;
}

照片
谢谢。但不幸的是,我不能使用这个选项。我有一个巨大的输入表单,它必须包括一个文件上传在中间。因此,为了模拟ajax,我将在第一个隐藏表单下面放置第二个隐藏表单。有没有办法在用户选择文件后将路径名复制到伪表单字段?@user我怀疑有没有办法从用户的计算机(或至少是真实的计算机)中提取路径。@alex“我怀疑有没有办法从用户的计算机(或至少是真实的计算机)中提取路径。”