Yiy*_*hen 3 javascript asp.net
我正在构建一个页面来上传服务器上的Excel文件以进行导入操作.所以一个javascript检查文件选中文件扩展名void其他文件类型.现在我正在尝试启用上传ASP.NET按钮,但javascript返回错误document.getElementById(...)为null.
这里的代码:
<script type="text/javascript" language="javascript" defer="defer">
function enableControl() {
document.getElementById('button').disable = false;
}
function disableControl() {
document.getElementById('button').disable = true;
}
function checkExcelFileUpload(elem) {
var filePath = elem.value;
if (filePath.indexOf('.') == -1)
return false;
var validExtensions = new Array();
var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase();
//Add valid extentions in this array
validExtensions[0] = 'xls';
//validExtensions[1] = 'pdf';
for (var i = 0; i < validExtensions.length; i++) {
if (ext == validExtensions[i])
return true;
}
elem.value = '';
alert('Sono ammessi solo file di Excel 97-2003');
return false;
}
</script>
<asp:FileUpload ID="fileupload" runat="server" size="50" onchange="javascript:try{if(checkExcelFileUpload(this) == true){enableControl();}else{disableControl();}}catch(err){alert(err);};" />
<asp:Button ID="button" runat="server" Text="Upload" Enabled="False" />
Run Code Online (Sandbox Code Playgroud)
我在互联网上搜索,我找到了其他语法,getElementById但我仍然有这个问题.你能帮助我吗?
谢谢
选项1
由于您的按钮是服务器端控件,因此呈现的ID将与您指定的ID不同.使用以下代码生成ctl$body$button(沿着这些行的某些内容取决于控件的嵌套).
document.getElementById('<%= button.ClientID %>')
Run Code Online (Sandbox Code Playgroud)
选项2
如果您使用的是ASP.NET 4,则可以使用Static客户端ID模式.
<asp:Button ID="button" runat="server" ClientIDMode="Static" Text="Upload" Enabled="False" />
| 归档时间: |
|
| 查看次数: |
28323 次 |
| 最近记录: |