我正在使用 Telerik radUpload 控件来构建像 gmail 文件上传这样的页面,我使用以下代码打开了一个 display:none radUpload 控件:
<telerik:RadUpload ID="RadUpload1" Runat="server" OnClientAdded="onClientAdded" ControlObjectsVisibility="None" Localization-Select="abcd"></telerik:RadUpload>
<script type="text/javascript">
var $fileInput;
function onClientAdded(sender, args) {
$fileInput = $telerik.$(args._fileInputField);
}
function OpenDialog() {
$fileInput.click();
uploadTimer();
}
</script>
他是我的 UploadTimer 函数:
function uploadTimer() {
try {
var t = setTimeout("uploadTimer()", 500);
//var v = $("#RadUpload1").val();
var upload = $find("<%= RadUpload1.ClientID %>");
value = upload.getFileInputs()[0].value;
//IE?
if (navigator.userAgent.indexOf("MSIE") != -1) {
//if (value != '') {
$("#btnSubmit").click();//}
}
else//non IE?
{if (value != '') {
$("#btnSubmit").click();}
}}
catch (err) {}}
我点击这个按钮来显示我的radUpload,然后调用一个计时器,它调用一个按钮服务器端点击函数将radUpload选择的文件保存到服务器,但是我在IE中没有上传文件,这是怎么回事?
<input type="button" value="select file" style="font-family:Tahoma;" onclick="OpenDialog()" />