JavaScript函数在本地工作但不在测试部署中工作

问题描述 投票:0回答:1

我有几个按钮,用于在单击时隐藏或显示页面上的其他元素。

按钮具有以下格式:

<button type="button" id="BTN" onclick="takeAction()">

JavaScript的格式如下:

<script type="text/javascript">
    function takeAction() {
         document.getElementById("ELEMENT1_HDR").style.display = "";
         document.getElementById("ELEMENT1_BODY").style.display = "";
         document.getElementById("ELEMENT2").style.display = "none";
         document.getElementById("ELEMENT3").style.display = "none";
     }
</script>

在本地,这在使用严格的HTML和JavaScript以及其他功能在.aspx.cs文件中使用c#时效果很好。

但是,只要我发布它并通过IP地址访问它,单击按钮就没有效果。在执行Inspect Element并单击按钮时,我收到以下错误:

属性'takeAction'的值为null或undefined,而不是Function对象

在我的开发环境中它有效,但在我的模拟Prod环境中却没有,我做错了什么?

我已经尝试将<script>标签内容放在<header>以及<body>标签下,以便在发布时没有变化。 Visual Studio在发布时会破坏它吗?

不知何故:当我从page1开始并单击“查看”按钮导航到特定记录时,发布的版本将记录视图页面加载到屏幕,但保留page1名称。在本地完成时,它实际上会更改页面地址 - 因此这可能是函数在本地工作但不在已发布环境中工作的原因

我选择了一个存在于page1和page2上的函数,名为noCanDoYet(),它只调用alert函数并在屏幕上显示消息:“此功能尚未实现”。即使在两个页面上都定义了此函数,我也会遇到相同的错误。

alert("help")工作。

以下导航到特定记录的方法是否会导致本地环境没有的Prod类型环境中出现问题?

protected void navigateView(object sender, EventArgs e)
{
    LinkButton lb = (LinkButton)sender;
    setCurrentlySelectedRecord(lb.CommandArgument);
    setViewEdit("View");
    Server.Transfer("page2.aspx");
}
javascript asp.net
1个回答
0
投票

我认为这个问题与IE11有关。我刚刚安装了Chrome,一切都很棒。

IE11现在也适用于在我的<meta http-equiv="x-ua-compatible" content="IE=edge; charset=UTF-8"/>之前在<head>中添加<script>

谢谢@JhWebDevGuy

© www.soinside.com 2019 - 2024. All rights reserved.