[英]How do I get the variable value outside of EventListener function in 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.