2012-09-19 27 views
1

如果用戶在文本框中輸入了不正確的值,我有一個頁面顯示一個類爲'validation-errors'的錯誤div。如果具有特定CSS類的元素存在,則執行Javascript

當顯示錯誤div時,是否有辦法執行javascript函數(它爲按鈕添加CSS屬性)?該功能目前在window.onload中調用。

如果窗口已更改/添加元素,是否有執行javascript函數的方法?

+1

你有沒有考慮過使用JQuery來做到這一點? – Liam

+0

是的,但我不知道我會怎麼做。這是一個MVC網站,我實際上不知道/理解驗證消息是如何顯示的 - 如果我這樣做了,當顯示錯誤div /消息時,我可以添加對函數的調用以將CSS應用於按鈕。顯示此錯誤消息時,基本上需要更新按鈕。 – Theomax

+0

以下是對JQuery的基本介紹:http://docs.jquery.com/How_jQuery_Works。它基本上是一個JavaScript庫,允許您根據類,ID等選擇元素並觸發事件。 – Liam

回答

3
$('.validation-errors').bind('DOMSubtreeModified', function() { 
    if ($('.validation-errors').length) { 
    // code 
    } 
}); 
+0

它似乎不工作 - 我試圖顯示一個警報()來測試它是否工作。我已將它包含在

2

如果您有jQuery的網頁上:

if ($('.validation-errors').length){ /*your code here */ } 

純JS這將是這樣的:

if (document.getElementsByClassName("validation-errors").length){ /*your code here */ } 
+0

是否需要爲window.onload執行JS代碼?如果是這樣,每次頁面更新時如何執行它?即erorrs div並不總是顯示。 – Theomax

+0

@aspdotnetuser是的,它必須在頁面加載後執行。我不會嘗試檢查整個頁面是否更新(壞主意),我寧願找到創建這些錯誤div並將其附加在那裏的函數。 – tborychowski

1

,如果你可以使用jQuery,你可以做

​​
+0

聽起來不錯。我會稍後再發布。 – Theomax

+0

請記住,在最近版本的jQuery中不推薦使用「live」函數,應該避免使用它。 – tborychowski

+0

@tborychowski更好? – 11684

相關問題