【问题标题】:value was "" blank when refreshing the page manually手动刷新页面时值为“”空白
【发布时间】:2010-05-19 08:25:34
【问题描述】:

我在刷新页面时遇到了值维护问题。我使用下面的 javascript 将值分配给隐藏控件:

function displaytab(tabID) {
   var tabId = document.getElementById("ctl00_MainContent_tabId"); 
    switch (tabID) {
        case 1:
          tabId.value=1;
          break;
        case 2:
          tabId.value=2;

          break;
        case 3:
          tabId.value=3;

          break;
        default:
         tabId.value=0;

           break;     
     }

但是当我刷新页面时,值是 ("") 空白。有什么办法可以解决这个问题吗?或者最好的方法是什么?

【问题讨论】:

  • 您真的需要停止使用仅在大小写上有所不同的变量名称。 tabIDtabId 非常混乱。
  • 很抱歉ThiefMaster,我有一个错字。

标签: javascript refresh


【解决方案1】:

您可以考虑将需要在刷新期间存储的值放入页面锚点(# 符号后面的 URL 部分)。您可以通过 location.hash 成员在 javascript 中访问它。

【讨论】:

  • 嗨 Amber,有没有办法在服务器端获取价值?我尝试了这个,例如sample.com#1.All 我现在想要的是使用服务器端代码获取值为 1。
  • 服务器永远不会看到锚/哈希值,因此您需要以其他方式提交它(通过 AJAX 请求或表单提交,或加载另一个页面并通过查询参数)。
  • 好的,非常感谢 Amber,我想我必须使用您已经建议的 location.hash。然后我在 onload 事件上调用了 javascript 函数,然后将该值作为从 location.hash 获取的参数传递。非常感谢。
【解决方案2】:

确保在 DOM 准备好之前不调用 displayTab。

一个简单的方法是在 window.onload 中调用你的函数:

window.onload = function()
{
    displayTab(123);
};

【讨论】:

    猜你喜欢
    • 2021-04-15
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 2021-09-23
    相关资源
    最近更新 更多