启用/禁用ASP.. NET控件
Enable/Disable ASP.NET control with javascript
我正在构建一个页面,用于在服务器上上传Excel文件以进行导入操作。所以a找到了一个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" />
我在互联网上搜索,我发现getElementById
的其他语法,但我仍然有这个问题。你能帮我吗?
谢谢
选项1由于您的按钮是服务器端控件,因此呈现的ID将与您指定的不同。使用下面的代码来生成ctl$body$button
(根据控件的嵌套而定)。
document.getElementById('<%= button.ClientID %>')
选项2 如果你正在使用ASP。. NET 4中,可以使用Static
客户端ID模式。
<asp:Button ID="button" runat="server" ClientIDMode="Static" Text="Upload" Enabled="False" />
见http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner - html标记- - asp -网- 4 - web -形式客户机id - vs - 2010和-网- 4 - 0 - series.aspx
而不是:
document.getElementById('button').disable = false;
你可能需要:
document.getElementById('<%= this.button.ClientID %>').disabled = false;
相关文章:
- 无法传递Asp.net控件's值转换为javascript函数
- jQuery根据用户选择启用/禁用asp.net控件
- 如何将 ASP.NET 控件名称传递给 javascript 函数
- ASP.net控件中的其他客户端验证
- ASP.NET控件代码隐藏未执行
- 使用 jquery 访问 Asp.net 控件(所有选项)
- 将动态创建的ASP.NET控件传递给Javascript
- 如何通过 JavaScript 发送 asp.net 控件的客户端 ID
- 使用 JavaScript 将 asp.net 控件设为只读为 false
- 将 ASP.Net 控件 ID 发送到 JavaScript 函数
- Asp.Net 控件值返回 Jquery 中未定义
- 使用 Java 脚本操作 asp.net 控件
- Javascript 禁用作为 asp.net 控件加载的元素的内联单击
- 将值从JScript传递到ASP.NET控件
- 如何在Internet Explorer中从网页上的javascript调用.Net控件或类库
- 如何将Bound值(asp.net控件)传递给jquery
- 访问HTML和Asp.net控件的通用JavaScript函数
- 使用jquery向asp.net控件添加监听器
- 使用ASP.net控件禁用表&Telerik控制
- ASP.. NET控件用jquery在单独的.js文件中