簡體   English   中英

如何在Javascript中引用ASP.NET控件?

[英]How do I refer to ASP.NET Controls in Javascript?

我正在開發我的第一個ASP.NET應用程序。 我創建了一些文本框和按鈕,並在文本框中添加了客戶端驗證。 現在,我希望根據文本框的內容和有效性來設置和清除按鈕的enabled屬性。

我已經在這里這里這里這里研究了問題和答案,而我能夠管理的最好的就是這個...

<script language="javascript" type="text/javascript">
    function SetButtonSensitivity()
    {
        var label = document.getElementById("<%= lblResult3.ClientID %>");
        var button = document.getElementById("<%= btnDone.ClientID %>");

        if (Page_ClientValidate())
        {
            label.Text = "valid";
            button.disabled = false;
        }
        else
        {
            label.Text = "not valid";
            button.disabled = true;
        }

    }
</script>

我可以說,當我離開文本框字段時,該腳本已被調用,因為錯誤消息是由client-validate發出的,但是該腳本對按鈕或標簽沒有影響。

誰能看到我所忽略的東西?

您無法從javascript訪問標簽的Text屬性。 標簽呈現為。 您應該嘗試設置innerHTML屬性:

label.innerHTML = "not valid";

還可以使用JavaScript控制台查看js代碼中存在的錯誤。 (Firefox中的Ctrl + Shift + J)

嘗試使用value屬性代替Text

label.value = "valid";
button.disabled = false;

好吧,因為您的Label實際上是呈現為<span> label.innerText = "valid"

您可以使用

label.innerHTML,label.innerText或label.value以獲取或設置標簽的文本。

“ button.disabled = false / true”應該起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM