繁体   English   中英

如何获取Javascript以获取会话变量值

[英]How do I get Javascript to get a Session variable value

我从上一页加载了会话变量,然后有了一个带有“选择”框的表单,该表单允许一个人使用其名字,名字和姓氏或别名来签署文档。 选择该选项后,它将激活以下功能,该功能可以按原样正常工作...

function jsignature()
{
var nsignature = document.getElementsByName("isignature")[0].value;
var signaturelist = [ "None Selected", "First name", "First & Lastname", "Known As" ];
var osignature = signaturelist[nsignature];   
document.getElementById("esign").innerHTML = osignature;
}

但是,自然地,我不需要“ First name”等字,而是想要实际的名字。

我尝试了以下方法,我将其视为在3个或4个网站上针对此确切问题的答案...

function jsignature()
{
var nsignature = document.getElementsByName("isignature")[0].value;
var fname = '<%=Session["firstname"]%>';
var signaturelist = [ "None Selected", fname, "First & Lastname", "Known As" ];
var osignature = signaturelist[nsignature];   
document.getElementById("esign").innerHTML = osignature;
}

但是输出不是存储在我的会话cookie“ firstname”中的值,输出实际上是“ <%= Session [“ firstname”]%>“

我也尝试过...

var fname = <%=Session["firstname"]%>;
var fname = %=Session["firstname"]%;
var fname = Session["firstname"];

有人可以帮忙吗?

编辑:针对“重复”问题,我的问题是关于会话变量而不是PHP变量,即使我的解决方案是PHP变量,但是在所谓的重复问题中,我的解决方案也不相同。

我正在使用php,在页面顶部,我有$ firstname = $ _ SESSION ['firstname']; -我可以以某种方式将此转移到JS吗?

?><script type="text/javascript">
  var firstname = <?php echo json_encode($firstname); %>;
</script><?php

您无法使用Jquery访问会话。 因为Session在服务器端,而Jquery在客户端。

您可以将会话存储在隐藏字段中,然后使用Jquery访问它。

下面的代码是剃刀用来存储值隐藏字段的:

<input type="hidden" id="hdnSession" data-value="@Request.RequestContext.HttpContext.Session["someKey"]" />

您可以使用Jquery来获取值:

var sessionValue= $("#hdnSession").data('someKey');

如果要在加载时获取会话值,则可能

var someKey = '@Request.RequestContext.HttpContext.Session["someKey"]';

注意::页面一旦加载,就无法使用jquery获得会话值。 但是您可以在加载时获得其价值。

感谢Amadan,您启发了我。

function jsignature()
{
var nsignature = document.getElementsByName("isignature")[0].value;
var firstname = "<?php echo $firstname; ?>";
var bothnames = "<?php echo $firstname." ".$lastname; ?>";
var knownas = "<?php echo $knownas; ?>";
var signaturelist = [ "None Selected", firstname, bothnames, knownas ];
var osignature = signaturelist[nsignature];   
document.getElementById("esign").innerHTML = osignature;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM