2012-08-08 94 views
0

我無法獲取標籤中的JavaScript變量值。我正在嘗試在Windows應用程序。無法使用隱藏字段來獲取變量的值。我嘗試了下面的代碼,但價值並沒有進入標籤。在標籤中獲取javascript變量值

document.getElementsByTagName('label3').Text=checkedIDs;//In java script 
string val = label3.Text.Tostring();//This is how i'm trying to get label3 value. 

我試過所有的答案,但我沒有在label3中獲得任何價值。

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0]; 
     HtmlElement scriptEl = webBrowser1.Document.CreateElement("script"); 
     IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement; 
     element.text = " function sayHello(){var indices = [0,1];var checkedIDs = getCheckedResumeIDs(indices);if(checkedIDs.length == 0){alert('Please select at least one.');return false;}document.getElementById(\"<%=label3.ClientId%>\").value = checkedIDs;}"; 
     head.AppendChild(scriptEl); 
webBrowser1.Document.InvokeScript("sayHello"); 

我正在向網頁中注入JavaScript並嘗試獲取函數的結果。

+0

在javascript你用'node.innerHTML + = value'設置了一個標籤的文本。 – bokonic 2012-08-08 05:17:01

+1

請向我們展示生成的HTML(瀏覽器看到的)。 – jfriend00 2012-08-08 05:18:18

+0

您似乎試圖在同一行中混合使用JS和C#,但這沒有幫助。 '.getElementsByTagName()'返回一個你像數組一樣訪問的匹配元素的列表,但是你真的有一個標籤名爲「label3」的元素嗎? (如'內容'。) – nnnnnn 2012-08-08 05:21:44

回答

0

如果我有你的權利,你需要改變第一線

document.getElementById("<%=label3.ClientId%>").value=checkedIDs; 
0

你是混合這是錯誤的事情在同一行既c#javascript功能。

您正在使用getElementsByTagName需要名稱分配到該Label

如果label3是在C#中Label則代碼應該是這樣的:

document.getElementsById('<%= label3.ClientID %>').value = checkedIDs; 

現在,您將獲得在label3值,你可以儘管C#代碼訪問像你這樣做。

0

它錯了,你使用了錯誤的

變化document.getElementsById

document.getElementById 

的元素,而不是元素

所以這樣

document.getElementById("<%=label3.ClientId%>").value = checkedIDs;