2012-02-01 25 views
7

Gizli alanlar.Document.getElementById ('id) ASP.NET başarısız değeri JavaScript işlevi

<input type="hidden" id="hidOrg1" runat="server" value="" /> 
<input type="hidden" id="hidBT" runat="server" value="" /> 

JavaScript işlevi:

function doGetWave(obj) { 
    //debugger 
    var brk = document.getElementById('hidBT').value; 
    //var brkId = document.getElementById('hidBI').value; 
    var org = document.getElementById('hidOrg1').value; 
    session = obj.options[obj.selectedIndex].value; 
    sWaveText = obj.options[obj.selectedIndex].text;  
    if (brk == "") { 
     window.location.href = "url.aspx?multiple=" + org + "&wave=" + sWaveText + "&strORGId=multiple"; 
    } 
    else { 
     window.location.href = "url.aspx?multiple=" + org + "&wave=" + sWaveText + "&BRKType=" + brk + "&strORGId=multiple"; 
    } 
} 

codebehind:

protected void Page_Load(object sender, EventArgs e) 
{ 
    hidOrg1.Value = strOrgId; 
    hidBT.Value = ""; 
} 

javascript işlevi hatalarını "Object Expected" ile değiştirerek var brk = ... ve nerede yanlış gittiğini anlayamıyorum. Saçımı çekiyorum! :(

+0

Gizli alanlar oluşturulmadan önce "doGetWave" denen bir şans var mı? – Pat

cevap

16

Standart bir HTML etiketine runat="server" yerleştirdiğinizde, ASP.Net benzersiz olduğundan emin olmak için kimliği yönetir (tıpkı kendi denetimlerinde olduğu gibi). . Net atanan bu deneyin:

var brk = document.getElementById('<%= hidBT.ClientID %>').value; 
var org = document.getElementById('<%= hidOrg1.ClientID %>').value; 

Ek Bilgiler

sen 4,0 çerçevesini kullanarak ediyorsanız elemanı, sayfa veya uygulama düzeyinde bu davranışı değiştirebilirsiniz bir için this link göz atın. terbiyeli küçük öğretici.değerini seçerseniz- Static, öğelerinize, atadığınız kimlikleriyle erişebilirsiniz (değiştirilmeyeceklerdir).

+2

Bu hile yaptı. "Görünüm kaynağında" ASP tarafından eklenen rastgele saçmalığı buldum. Soyu sinir bozucu. –

+1

Veya .net 4 kullanıyorsanız, clientidmode'u statik olarak ayarlayın. – ScottE

+1

mükemmel cevap !! Teşekkürler. – Hitsa00

İlgili konular