0

我尝试创建的页面有一点问题。在简历中,我想验证用户是否选择了文件,然后将其上传到服务器上。我知道可以通过 javascript 做到这一点:

if(document.getElementById("uploadBox").value != "") {
   // you have a file
}

但问题是,如果我将属性 runat="server" 添加到我的输入中:

<input id="myFile" type="file" runat="server" />

我不能再验证了。所以,你知道一种方法来做我想做的事情。

PS:请记住,我想使用 javascript 进行验证以捕获回发,然后使用 ajax 显示错误消息。这就是我不通过服务器代码进行验证的原因。

谢谢 :)

4

1 回答 1

1

发生这种情况是因为输入控件的 ID 在您在服务器端运行时发生了更改。这里有两种解决方法,要么强制 ID 保持不变:

<input id="myFile" type="file" runat="server" ClientIDMode="Static" />

或者,如果你在同一个 ASP 页面中有 Javascript,你可以像这样直接写 ID:

if(document.getElementById('<%= uploadBox.ClientID %>').value != "") {
   // you have a file
}
于 2013-04-29T13:37:44.223 回答