2013-04-29 48 views
0

我有一个小小的问题,试图创建一个页面。在简历中,我想验证用户是否选择了一个文件,然后将其上载到服务器上。我知道这是可能做到这一点的JavaScript throught:Javascript验证FileUpload和服务器上传

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

但事实是,如果我添加属性RUNAT =“服务器”我的输入:

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

我不能再验证。所以,你知道一个办法来做我想做的事吗。

PS:请记住,我想验证与JavaScript来捕获回发,然后显示错误消息使用Ajax。这就是为什么我不通过服务器代码进行验证。

谢谢:)

回答

1

这是因为,当您运行服务器端的输入控件的ID发生了变化。这里有两种方法来解决这个问题,无论是强制ID保持不变这一点:

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

,或者如果你有JavaScript中的同一ASP页面,则可以直接写ID是这样的:

if(document.getElementById('<%= uploadBox.ClientID %>').value != "") { 
    // you have a file 
} 
+0

谢谢你nmat!第一种方式完美地工作! :) – 2013-04-29 13:41:36