我有我自己的JQuery驗證的窗體。 單擊JQuery <button id=btnRegister type=submit>
時,我的驗證代碼被調用,如果無效,表單不提交。所有作品都很棒。帶有onclick()以及onserverclick()的JQuery <button>。不可能?
我在這個表單上有另一個<button id=btnSave>
。 我希望btnSave只有在表單數據有效的情況下才會觸發asp.net服務器端事件(onserverclick)。
我曾嘗試以下 - <button type=submit onclick='if($(this).closest('form').submit()==false) return;' onserverclick='btnSave_click' runat =server>Save</button>
當我點擊btnSave,它調用我的表單提交事件處理程序,它正確返回false,若無效。到現在爲止還挺好。在此之後,我想要觸發onserverclick事件而不是。但是,即使表單無效,onserverclick也會觸發並返回頁面。
正如我所看到的,不能同時有onclick和onserverclick。 我該怎麼做才能讓他們和諧共處? 如果我將<button>
更改爲<input type=submit>
,則全部解決。但我更喜歡<button>
的外觀和感覺。
是的,返回false不回發,但我不想onclick總是返回false。如果輸入有效,那麼它應該返回true。我試圖返回submit()函數的值,但它返回一個[object object]。所以我應該改寫我的問題 - 如何獲取我的submit()函數的返回值 – tubelight 2010-11-22 12:39:13
alert($(this).closest('form')。submit())返回[object]而不是true/false。如何從表單的提交功能獲取返回值? – tubelight 2010-11-22 12:43:34
事件處理程序總是返回布爾值,指示是否應該發生事件默認值。如果您不希望發生默認的「提交」行爲,即一個回傳,無論輸入是否有效,您都應該返回false。 – Domenic 2010-11-23 03:49:18