我的html中有这个,有效:
<input id="File1" type="file" runat="server" onchange="fileUpload(value)" />
但对于IE8及以下版本,我有一个按钮来创建一个新输入:type = file 它正在工作并上传文件。
但我需要先将值发送给函数。
newUploadBox.setAttribute("onchange", "fileUpload(value)");
现在当我进入检查元素时,一切看起来都是正确的。
它像原始输入一样呈现出来。
不幸的是,它没有像第一个那样去做功能。
我喜欢这里的一些帖子: Dynamically added SELECT element does not fire onchange event in Internet Explorer &安培;&安培; onchange with alert not working in ie
但没有人能够帮助我。
答案 0 :(得分:1)
试试此代码
newUploadBox.onchange = fileUpload.bind(this, value);
function.prototype.bind - 创建一个与原始函数具有相同主体的绑定函数
答案 1 :(得分:1)
我添加了一个onClientClick事件处理程序来检查我的验证,而不是做一个onchange事件监听器。
我使用了以下功能:
$_ENV
这将解析我的所有文件上传输入字段。 如果一个人不符合我的要求,它将不允许他们上传。 这是我能想到的最好的工作,可以在IE8中使用。
我还使用了一个基本上是我的&#34; onClientClick&#34;的诱饵按钮。因为我不想意外上传。
每个循环的第二个循环检查所有循环验证的条件,如果它们这样做,它将从DOM中取出诱饵按钮并引入ASP.NET按钮进行上传。