2012-01-31 26 views
0

我使用JQuery驗證(bassitance)來驗證大形式驗證。手中充滿了文本框,然後是不斷增加的複選框列表(最後一次是4600)。我使用的與jQuery

忽略: '輸入[類型= 「複選框」]'

方法,但它是不夠的。使用IE8或更低版本提交時,我仍然收到'停止運行此腳本'錯誤。 Firefox,Safari,Opera和IE9都很好。

有我丟失的東西或更好的方式來做到這一點?由於沒有4600個的文本框

+0

你確定你是不是遍歷所有的元素與忽視做驗證過嗎? – 2012-01-31 15:41:06

+0

我有一個腳本通過onload來統計所選框。刪除了,仍然得到相同的結果。 – Eric 2012-01-31 16:10:47

+0

使用Firebug JS分析器並查看是什麼讓它變慢。很可能你的DOM太大了。我同意答案,建議使用AJAX將它分成多個頁面。 – 2012-01-31 16:12:55

回答

3

將是一個良好的開端。你真的需要嗎?你可以看看分頁數據,以減少一次加載到DOM的數量嗎?

+0

不幸的是,客戶希望所有項目都列在一個頁面上。他們被分解成按字母順序排列的組,但這並不能幫助DOM的情況。 – Eric 2012-01-31 16:07:44

+0

啊,客戶/老闆總是知道最好(!)。你能否更新你的原始文章以包含你的驗證測試?你是否嘗試將它們剝離回僅僅一個簡單的測試(例如)以查看它是否僅僅是一個緩慢的規則? – akiller 2012-01-31 16:22:30

+0

有8個必填字段。然後在單擊其中一個複選框時增加/減少字段。除了太多複選框之外,這個表單沒有太多。 – Eric 2012-01-31 16:41:56

1

我akiller同意,它是一個頁面太多的元素。減少表單中元素的數量。但是,如果您需要檢查大量元素,則必須將此表單分成多個網頁,也許使用Ajax導航網頁。另外,不要使用jQuery,它可能會加速你的腳本。

+0

我正在考慮如何處理驗證,而不是使用低噪聲。但我希望有人有這個神奇的子彈。 – Eric 2012-01-31 16:12:37