【问题标题】:JavaScript Not Working properly in ASP.NETJavaScript 在 ASP.NET 中无法正常工作
【发布时间】:2013-01-27 03:32:45
【问题描述】:

我对 JavaScript 还很陌生,曾一度陷入困境: 我正在使用 asp 控件 fileupload 上传一些文件并将它们存储到数据库中,我正在使用 asp 转发器控件在前端显示数据库中的所有文档,并为每个文档关联了一个 html 复选框: 问题是当我选中或取消选中复选框时,删除按钮会相应地启用/禁用,但是当我单击“全选”按钮时,我正在调用这两个函数 - 检查所有复选框并启用按钮,删除按钮不知何故是未启用..请帮助。

这是启用删除按钮的 JavaScript 代码:-

function EnableButton() {
            var rpt = document.getElementById('<%= rptWordDoc.ClientID  %>');
            var chkbx = document.getElementsByTagName('input');
            var x = document.getElementById("btnDelWordDoc");
            for (i = 0; i <= chkbx.length; i++) {
                var id = "rptWordDoc_chkWordDoc_" + i
                var y = document.getElementById(id);
                if (y == null) {
                    break;
                }
                if (y.checked == true) {
                    x.disabled = false;
                    break;
                }
                else {
                    x.disabled = true;
                }
            }

        }

这就是我调用函数的方式:-

<asp:Button ID="btnSelectAll" runat="server" Text="Select All" OnClientClick="fnSelectAll(); JavaScript:EnableButton();" />

通过复选框:-

<input type="checkbox" id="chkWordDoc" runat="server" onclick="JavaScript:EnableButton();" />

【问题讨论】:

  • "fnSelectAll(); JavaScript:EnableButton();" 应该是"JavaScript:fnSelectAll(); EnableButton();"
  • 还要注意javascript: 不是必需的,除非页面上还有 vbscript。

标签: javascript asp.net


【解决方案1】:

你调用了两个函数fnSelectAll();JavaScript:EnableButton();可能是第二个在执行第一个之后没有执行。

【讨论】:

  • 不,我已经调试了代码,它同时调用了这两个函数。我也检查了按钮的属性..在退出之前它正在设置:x.disabled = false;
【解决方案2】:

终于找到原因了: 实际上我使用的是 asp: button control for Select All & Clear All features,因此它正在回发到服务器并将删除按钮启用属性的值设置回 false。

我为全选和清除所有按钮添加了一个 html 控件而不是 asp 按钮,并且没有添加 runat=server 属性,因为不需要服务器端事件。

感谢您的建议.. 干杯..:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多