2015-04-05 76 views
-2

我認爲jQuery的全部目的是讓開發人員的生活更容易更容易但自從我開始學習如何使用它〜3個月前,它已經造成了什麼,但對我來說是惡夢!ASP.NET WebForms和jQuery驗證 - validate()undefined

我現在工作的一個ASP.NET Web窗體應用程序,我試圖使用jQuery驗證,因爲內置的驗證控件不能低於輸入同行容易呈現。這就是我想要做的;有一個輸入錯誤信息,動態出現並消失它下面它,但我一直在我的頭撞磚牆5個小時試圖找出如何做一個看似簡單的小東西!

我開始時使用了一堆<asp:RegularExpressionValidator><asp:RequiredFieldValidator>控件(因爲您無法使用一個控件同時進行兩次驗證),但不喜歡如何將錯誤消息內聯顯示在我的輸入的右側。所以我花了大約2.5個小時試圖讓ASP.NET渲染與display: block;該死的東西,沒有用。

這時候我想起提過一個同事的jQuery驗證插件來我大約一個月前是...所以關閉我去努力實現與解決方案。但無論我嘗試什麼,Windows上的Google Chrome v.41都會在jQuery.validate()函數中給我一個「未定義不是函數」的錯誤。

我知道你在想什麼:沿着「ASP.NET mangles控制ID ... yada yada yada」的線條,但我從我開始以來一直在我的web.config的<system.web>節中使用<pages clientIDMode="Static" />這個項目,所以這不是問題。我也爲99.999%肯定我,包括以正確的順序必要的腳本,即使有些包含在我的母版頁和一些在內容頁面(這不應該的問題,應該嗎?)

這篇文章已經太長了,所以退房the full code here

MTIA給任何人誰可以告訴我這到底是怎麼回事!

+1

相關的代碼應該包括在問題中,而不是在一個地方,我很快就會消失請閱讀http://stackoverflow.com/help/mcve – AdrianHHH

+0

因爲我說,這篇文章已經很長,完整的aspx頁面是** 546行** ...供將來參考,你真的希望我在這裏包括類似的東西嗎?將其縮小爲顯示該問題的摘錄是不可能的,因爲**我不知道問題出在哪裏,只是它在該頁面中的某個地方。 – Kenny83

+0

@AdrianHHH - 我剛剛看了你鏈接到,看到這個建議的頁面: 「分而治之。當你有一個很小的代碼量,但問題的根源是完全不清楚,開始一次只移除代碼位直到問題消失 - 然後再添加最後一部分「。 這就是克里斯蒂娜和我兩人最終解決問題的方式,所以我想我應該首先做到這一點,甚至從來沒有在這裏發佈。我很抱歉。 – Kenny83

回答

1

我調試了你的代碼。問題在於你的評論。刪除你的意見的代碼,它會工作:)

+0

LMAO是不可思議的;我剛剛發現了這個,幾乎和你一樣!但是,無論如何感謝;-)不能相信我因爲一些愚蠢的評論而浪費了整整一天!我以前從來沒有見過這樣的事情......爲什麼地球上的代碼會以**任何方式影響JS/JQ,更不用說讓瀏覽器盲目地告訴我一個函數是未定義的......我根本不理解這個**!無論如何感謝回答和復活節快樂:D – Kenny83

+0

另外我想知道你是如何調試代碼的......這樣的工具肯定會讓我的生活變得更輕鬆!如果我只是在VS中打F10,F11或F5,頁面運行時不會停止任何地方...你是否用這種方式在某種初始化函數中使用了斷點?如果是這樣,什麼功能? – Kenny83

+0

對於Javascript代碼,我使用Google Chrome的默認調試器(Ctrl + Shift + I)。但是,如果您有Internet Explorer,則可以使用開發人員工具(F12)。在visual studio中,編輯代碼,插入希望調試器停止的'debugger;'行,然後在瀏覽器中按F5鍵刷新,調試器應該停在那裏。 –