2014-01-20 23 views
0

我有以下的javascript功能:JavaScript函數沒有正確的分配值

function editWebsite(IP) 
{ 

document.getElementById('ctl04_txtIP').value = IP; 

} 

ctl04_txtIP是代表IP adress通過editWebsite函數的參數IP文本框正在添加。

問題是,當我看到該文本框時,IP變量的值與文本框中顯示的實際值不同。

當我在該函數中添加alert('Any message')時,它會正確顯示我的值,但只要我刪除警報並使JavaScript函數如上所示,值就會不同。

我無法理解它是如何發生的。

我使用Visual Studio 2008(ASP.NET)

我創建動態通過C#代碼一個環節,在點擊其中的這個函數被調用>>

"<a href='javascript:void(0)' onclick=\"javascript:editWebsite('" + Convert.ToString(dr["IP"]) + "')\">Edit</a>" 
+1

它聞起來像一個異步問題。你能給我們更多相關的代碼嗎?小提琴也會幫助我們幫助你。 –

+0

@dystroy代碼僅限於上述 –

+0

不,您的錯誤在別處。 –

回答

0

你試過設置分配值之前的延遲?

function editWebsite(IP) 
{ 
setTimeout(function() { 
document.getElementById('ctl04_txtIP').value = IP; 
}, 100); 
} 
+1

你隱藏一個錯誤在一個可怕的方式。 –

+1

**真正的**問題是您在某個異步查詢期間過早地調用了您的函數。當你幸運時,alert和setTimeout都會讓腳本等待函數的返回。我們需要更多的代碼來解決這個問題。 –

+0

@dystroy先生,看我的編輯 –