【问题标题】:how disable / enable An Ajaxifeid Button From Client Side (JavaScript)如何从客户端禁用/启用 Ajaxifeid 按钮 (JavaScript)
【发布时间】:2010-06-22 15:07:50
【问题描述】:

我有一个 AJAXIFIED 按钮(btnsend)被它的属性禁用 -> Enabled="False"

我在这个按钮旁边有一个文本框,我希望当用户在该文本框中输入内容时启用该按钮...

所以我做了这个(JavaScript):

        function onkeyupontextbox() {
        var btnSend = document.getElementById("btnSend");
        btnSend.disabled = false;

}

但启用后该按钮不起作用...

我该怎么办?

(我正在使用 radajaxmanager 对那个按钮进行 ajaxify) (当我从 RadAjaxmanager 或 UpdatePanel 中删除该按钮时,一切正常,但我希望该按钮处于 Ajaxify 模式)

感谢您的关注...

【问题讨论】:

  • 嗨,我亲爱的朋友……我在哪里可以做到这一点?

标签: c# asp.net javascript ajax radajaxmanager


【解决方案1】:

听起来您正在尝试混合 Ajaxified 属性和 DOM 元素属性。 ajaxify 时保留属性 Enabled = "True",然后在页面加载时使用 JS 到 btnSend.disabled = true 即可。如果您使用纯 js 禁用它,则上面的功能应该可以正常工作以重新启用它。例如,如果 ajaxify 属性 'Enabled' 设置为 true,则将以下 javascript 放入您的页面:

window.onload = function(){
    document.getElementById("btnSend").disabled = true;
};

然后使用你上面写的函数onkeyupontextbox()来启用它。因为 javascript 正在禁用该按钮,所以它应该能够重新启用它。之前,您使用 Ajaxified 属性禁用并尝试使用 js 重新启用。

【讨论】:

  • 你能给我一个 javascript 的例子吗...(我不能使用我的表单的 onload - 因为我的表单中有一个计时器,每 6 秒滴答一次 - 使用 onload couses 来设置我的按钮每次计时器触发时禁用)
  • 修改了我上面的答案以包含我建议的代码。
【解决方案2】:

以下可能是答案吗? (没有使用过 RadAjaxmanager 的经验)

function EnableBtnSend()
 {
    $find("<%=btnSend.ClientID %>").ajaxRequest("");
 }

在这里找到:http://www.telerik.com/help/aspnet-ajax/grdenabledconventions.html

【讨论】:

  • 它似乎是:$find("").ajaxRequest("");但不起作用...你能解释更多吗!
  • 没有使用过 RadAjaxmanager 的经验 -> 试试看(它是最好的)
猜你喜欢
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多