在javascript中设置变量以用于其他形式

时间:2019-07-17 20:32:30

标签: javascript

我有一个带有网格(telerik)的表格,我认为其背后的技术并不重要。我让用户单击网格中的一行。单击期间,我使用Java Grid从网格中提取了一个值,如下所示:

function RadDrillDoubleClick(sender, eventArgs) {
   var Code = eventArgs.getDataKeyValue("Status");

   if (Code == "In Progress" || Code == "")
      {
         location.href = "Main1.aspx?mode=edit&DID=" + eventArgs.getDataKeyValue("D_ID");
       }
    else  {
         location.href = "Main1.aspx?mode=view&DID=" + eventArgs.getDataKeyValue("D_ID");
           }
     }

用户单击网格后,我调用此JS函数,并使用VIEW或EDIT模式将它们发送至正确的.aspx页,这些模式直接取决于代码。

我想做的是一旦进入Main1.aspx页面,我希望能够继续保留CODE值,因为当用户执行某些操作时,我需要调用一个javascript功能并使用实际的CODE来确定用户将能够执行的操作.....

var Code = eventArgs.getDataKeyValue("Status");

有什么办法可以像创建名为GLOBAL变量的

CodeValue

我可以在不使用URL的情况下传递到另一种形式吗?

2 个答案:

答案 0 :(得分:2)

当浏览器导航到页面时,将从浏览器中卸载所有当前的JavaScript。这意味着除非您以某种方式保留了该值,否则将无法在新页面上访问任何函数/变量等。

保留值的常用方法包括:

  1. 将其添加到用户导航到的URL的查询字符串中
  2. 将值保存到cookie
  3. 将值保存到本地/会话存储中

对于您的情况,排名第一可能是最好的选择(请记住,用户可以向您的站点打开多个浏览器/选项卡)。

答案 1 :(得分:1)

URL获取值的一种方法是这样的:在页面Main1.aspx上,您向JavaScript添加了function,该页面将在页面加载并运行后运行。将从当前的URL

中获得所需的信息
var globalValue; // variable that will receive the value from URL

window.onload = function() {
  var thisURL = window.location.href;
  globalValue = url.split("?").pop();

  // this will store in globalValue everything that comes after the last "?"
  // example: if the url is www.site.com/text?value, it will store string "value" to globalValue
};