2011-12-02 78 views
2

我將一個單擊事件綁定到超鏈接。 Onclick將超鏈接的值(innertext)保存在隱藏字段中。有了這個值,我正在重新加載頁面(ASP.NET)。 它的工作原理 - 但問題是:jQuery + ASP.NET:在隱藏字段中單擊=值,單擊太快

如果我點擊link1,一切都沒問題。 如果我點擊link2,一切都沒問題。

如果我點擊link1,然後(非常快)在link2上,隱藏字段具有舊值(link1)。

有沒有人有想法解決這個問題?

$(function() { 
var innertxt = ""; 
$("span[id$='myLink']").bind("click", function() { 
    innertxt = ($(this).text()); 
    if (innertxt == "myLinkText1" || innertxt == "myLinkText2") { 
     $("input[id$='myHiddenField']").val(innertxt); 
    } else { $("input[id$='myHiddenField']").val(""); } 
    }); 
}); 

(代碼在comination與ASP.NET頁面重載,這意味着點擊一個鏈接$( 「跨度[ID $ = 'myLink的']」),頁面重新加載後)。

//編輯

我已經有一個onclick(內聯)事件。 顯然綁定是在onclick事件觸發後開始的,因此爲時已晚。

我已將代碼放入onclick嵌入式事件中並且它正在工作。

感謝您的建議!

//結束編輯

+0

你每次點擊時清理輸入值 –

+0

我用jQuery控制點擊。所以我在第一行中添加了...(「click」,function(){... )innertxt =「」;但是根本沒有改變 –

+0

我認爲你做錯了。告訴我們你想做什麼? –

回答

0

我已經有一個onclick(內聯)事件。顯然綁定是在onclick事件觸發後開始的,因此爲時已晚。

我已將代碼放入onclick嵌入式事件中並且它正在工作。

<span id="myLink" onclick="myCodeHere" /> 

感謝您的建議!

-1

如果我理解正確的問題,它是基於用戶交互 - 基本上用戶點擊大於頁面加載速度更快。

如果您只是禁用點擊事件中的按鈕,並在按鈕「準備就緒」點擊時再次啓用它們,它不會解決您的問題嗎?

+0

這是一個想法,但我認爲如果用戶不必等待,它會更舒服。 –

+0

然後我不認爲問題是清楚的。我的意思是沒有.Net,也沒有任何jQuery功能來「讓事情加快速度」:) –

0

您可以使用LinkButton控件而不是HyperLink並設置CommandArgument屬性以反映必須顯示哪些文件。