【问题标题】:Javascript & ASP .NET problemJavascript & ASP .NET 问题
【发布时间】:2011-06-09 16:42:08
【问题描述】:

我在我的 asp.net 页面中实现 javascript 控件时遇到了一些问题。我想让一组变量根据一些 asp 按钮控件获取它们的值。然后我根据它们被点击的方式来操作这些按钮。不过我遇到了一些问题:

  1. 我定义并赋予值的任何全局变量都将返回为 null
  2. 我无法运行 onload 事件,因为我的所有变量都返回为 null。
  3. 我不能使用 visible="false" 的 asp.net 标签,因为由于某种原因,javascript 无法显示控件。
  4. javascript style.visibility="visible" 不起作用,因为您仍然可以看到按钮所在的位置 - 它只是不可见。

这是我的代码。 TL,DR 是我想运行一些行为,以便在加载时通​​过 js 有条件地显示/隐藏按钮,然后在不同的按钮点击时隐藏/显示按钮。我知道这是一个范围问题,因为全局变量在我测试它们时返回“null”,但我不知道一个好的解决方法和 onload 问题。谢谢!

var btnEdit = document.getElementById("<%= cmdEdit.ClientID %>");
var btnSave  = document.getElementById("<%= cmdSave.ClientID %>");
var btnCanvel = document.getElementById("<%= cmdCancel.ClientID %>");
var btnConfirm = document.getElementById("<%= cmdConfirm.ClientID %>");


function HideEdit(){

    $(btnEdit).hide();
    $(btnSave).show();
    $(btnCancel).show();
    $(btnConfirm).hide();

    document.getElementById("<%= pnlWhy.ClientID %>").style.visibility = "visible";
    document.getElementById("<%= pnlRequest.ClientID %>").style.visibility = "visible";
}

function testme() {
alert(btnEdit)

}
function loadpage(newwine){

    if (newwine==true){
        $(btnEdit).hide();
        $(btnSave).show();
        $(btnCancel).show();
        }
    else{
        $(btnEdit).show();
    }
$(btnConfirm).hide();
}

【问题讨论】:

    标签: javascript asp.net


    【解决方案1】:

    看起来您正在使用 jQuery,尽管您没有在标签中提及它。无论如何,可能发生的是您的代码在页面元素实际存在之前运行。在这种情况下,全局引用将为空;事实上,它们一开始是空的。

    如果您使用的是 jQuery,只需将您的代码放入“就绪”处理程序中:

    $(function() {
      // all your code here
    });
    

    【讨论】:

    • 很好,我正在使用 jQuery。很抱歉把它漏掉了。所以我可以在准备好的处理程序中运行所有东西,当页面“准备好”时它会启动它?太棒了,谢谢!
    【解决方案2】:

    为什么你没有通过 jQuery 找到元素?更方便。您还可以通过 jQuery 方法 .addClass (http://api.jquery.com/addClass/) 方法设置或删除样式类。如果您在单击后设置可见性为真,然后再单击设置可见性为假,请使用 jQuery .toggle jQuery 方法 (http://api.jquery.com/toggle/)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-13
      • 2011-04-19
      相关资源
      最近更新 更多