Javascript 更改时不触发onchange事件
我的html中有这样的内容,它可以工作:Javascript 更改时不触发onchange事件,javascript,html,browser,dynamic,event-listener,Javascript,Html,Browser,Dynamic,Event Listener,我的html中有这样的内容,它可以工作: <input id="File1" type="file" runat="server" onchange="fileUpload(value)" /> 现在,当我进入inspect元素时,一切看起来都正常 它呈现出与原始输入相同的效果 不幸的是,它不像第一个函数那样进入函数 我喜欢这里的一些帖子: && 但是没有人能帮助我 试试这段代码 newUploadBox.onchange = fileUpload.bin
<input id="File1" type="file" runat="server" onchange="fileUpload(value)" />
现在,当我进入inspect元素时,一切看起来都正常
它呈现出与原始输入相同的效果
不幸的是,它不像第一个函数那样进入函数
我喜欢这里的一些帖子:
&&
但是没有人能帮助我
试试这段代码
newUploadBox.onchange = fileUpload.bind(this, value);
function.prototype.bind-创建与原始函数具有相同主体的绑定函数
我添加了一个onClientClick事件处理程序来检查验证,而不是执行onchange事件侦听器 我使用了以下功能:
function FileUploadValidate() {
var input;
var thisId;
var fileInput;
input = document.getElementsByTagName("input");
for(i = 0;i < input.length; i++)
{
if(input[i].getAttribute("type") === "file"){
thisId = input[i].getAttribute("id");
fileInput = document.getElementById(thisId);
fileUpload(fileInput.value, thisId)
}
}
for(i = 0;i < input.length; i++)
{
if(input[i].getAttribute("type") === "file"){
thisId = input[i].getAttribute("id");
if(document.getElementById(thisId).style.backgroundColor === "#ff0000"){
alert("true")
document.getElementById("decoyBtn").innerText = "Check"
return
}else{
document.getElementById("decoyBtn").style.display = "none"
document.getElementById("btnSubmit").style.display = "inline"
}
}
}
}
函数FileUploadValidate(){
var输入;
蓟马变种;
var文件输入;
输入=document.getElementsByTagName(“输入”);
对于(i=0;i
这将解析所有“我的文件上载”输入字段。
如果一个不符合我的要求,它将不允许他们上传。
这是我能想到的在IE8中工作的最好的方法
我还使用了一个诱饵按钮,基本上就是我的“onClientClick”,因为我不想意外上传
第二个for-each循环检查所有验证的条件,如果验证了,则会将诱饵按钮从DOM上取下,并将ASP.NET按钮带入上载 您如何声明文件上载?你能提供一个小提琴/更多的代码吗?它将在现代浏览器中工作。不适用于IE8,但不适用于我的应用程序。我需要一个更具活力的解决方案。谢谢你。我仍然会投票表决。
function FileUploadValidate() {
var input;
var thisId;
var fileInput;
input = document.getElementsByTagName("input");
for(i = 0;i < input.length; i++)
{
if(input[i].getAttribute("type") === "file"){
thisId = input[i].getAttribute("id");
fileInput = document.getElementById(thisId);
fileUpload(fileInput.value, thisId)
}
}
for(i = 0;i < input.length; i++)
{
if(input[i].getAttribute("type") === "file"){
thisId = input[i].getAttribute("id");
if(document.getElementById(thisId).style.backgroundColor === "#ff0000"){
alert("true")
document.getElementById("decoyBtn").innerText = "Check"
return
}else{
document.getElementById("decoyBtn").style.display = "none"
document.getElementById("btnSubmit").style.display = "inline"
}
}
}
}