2016-03-28 17 views
0

Önceki sayfanın oturum değişken yüküne sahibim, sonra bir kişinin bir belgeyi ilk adıyla, ilk olarak ve soyadı veya bir takma ad. Bu seçildiğinde doğal ben vs kelimeleri "İlk adı" istemiyorum, ancak olduğu gibi iyi çalışır aşağıdaki işlevi, ...Oturum değişken değeri almak için Javascript'i nasıl edinebilirim?

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; 
} 

aktive ben gerçek ilk isim istiyorum.

Ben

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; 
} 

... Ben 3 veya 4 web sitelerinde tam bu soruna cevap olarak gördük ki, şu ancak çıkış benim oturum tanımlama "firstname" saklanan değer değildi çalıştı çıkış

Ben de denedim ...

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

can kimse yardım aslında "<% = Session [" ad "]>%" lütfen oldu?

DÜZENLEME: "Yinelenen" soruna cevaben, soruyum PHP değişkenleri değil, PHP değişkenleri değil, oturum değişkenleriyle ilgiliydi, ancak çözümüm yinelenen iki soruda çözümün aynısı değil.

+0

oturumun bir sunucu tarafı kavramdır ... mükemmel çalışıyor. Değerleri ayıklayabilir ve * istemciye gönderebilirsiniz. JavaScript dosyalarınız (görünüşte, bu normal durumdur) sunucu tarafındaki şablon diliniz tarafından işlenmez (ad vermediniz). – Pointy

+0

php kullanıyorum ve sayfanın üst kısmında $ firstname = $ _ SESSION ['firstname'] var; - Bunu bir şekilde JS'ye aktarabilir miyim? – Snaggletooth

+0

Olası çoğaltılabilir [JavaScript'te PHP değişkenine eriş] (http://stackoverflow.com/questions/4287357/access-php-variable-in-javascript) – Alexei

cevap

1

php kullanıyorum ve sayfanın üst kısmında $ firstname = $ _ SESSION ['firstname']; - Bunu bir şekilde JS'ye aktarabilir miyim?

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

Teşekkürler Amadan, işe yaramadı, ama bana ilham kaynağı oldu. Çalıştı mı ... var fname = " "; – Snaggletooth

+0

Ne işe yaramadı? Bu değişkenin içinde bir alıntı karakteri varsa ya da bir ters eğik çizgi ile bitiyorsa çözümünüz bozulur ... – Amadan

+0

değişkenler girişte temizlenir ve yalnızca harf ve hiperin isimlere izin verilir – Snaggletooth

1

jQuery kullanarak oturumu erişemez. Oturum, sunucu tarafında ve Jquery istemci tarafında çalıştığı için.

Yapabilecekleriniz gizli alanı saklamak ve ardından JQuery kullanarak erişmektir. Kodun altında

mağaza değeri gizli alanına ustura içindir:

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

Sen olarak jQuery kullanarak değerini getirebilir:

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

sonra yük olarak mümkün oturumu değerini elde etmek istiyorsanız

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

NOT: Sayfa yüklendikten sonra jquery'yi kullanarak oturum değeri alamıyorsunuz. Ama değerini yüke göre alabilirsiniz.

0

Teşekkür Amadan, bana ilham ... Bu

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; 
} 
İlgili konular