2012-02-08 80 views
2

form submit checkbox sets value to "on" rather than "true"中,我解釋了在提交表單後如何將我的複選框值提交爲「on」而非true。當檢查框時,複選框值不會更改

建議是我需要設置它的value屬性才能返回true。因此,我將頁面上覆選框的值設置爲true或false,具體取決於它是新項還是來自數據庫的值。但是,當我點擊複選框螢火蟲顯示該值不會改變。那麼這應該如何工作?

更新更詳細一點

確定這樣的情況,當然,不是那麼簡單如上所述。發佈表單時,我使用jquery.form。它所做的就是查看所有輸入值,然後將值放入對象中,然後通過ajax調用將其發佈到服務器。

然而,當你的表單上有一個文件上傳的時候,jquery.form會做的是通過創建一個iframe並做一些魔術(這對處理fileupload是必須的)來處理文件上傳,然後調用$(form )。提交();

它是在這種情況下,我而不是通過ajax提交,而是通過$ .submit(),我得到序列化的值「on」而不是true。我已經看了jquery.submit的代碼,我真的不知道它在做什麼。 更新經過進一步的考慮,我猜它是在做什麼,只是觸發表單提交類型提交按鈕的方式會做。

+1

您可以發佈代碼,瞭解如何選擇該複選框以獲取「開」值。我以前用jQuery遇到過這種情況,可能會有所幫助。 – 2012-02-08 15:15:15

回答

0

這是一個Stack Overflow post專門討論這個問題。看起來,如果複選框的值未設置爲「true」或「false」,jQuery將使用「on」。

+0

謝謝您的回答,但是,我沒有手動獲取值,我正在調用提交表單。然後,表單查看所有元素的值(我並不真正理解這個部分,如果我可以發掘出我能發送正確的值,這似乎是神奇的),並返回這些值的參數。如果我沒有將複選框的值設置爲true或false,則返回「on」,然後服務器不會將其識別爲布爾值。 – Raif 2012-02-08 17:08:41

相關問題