【发布时间】:2012-03-01 00:18:57
【问题描述】:
在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 的代码,但我并没有真正看到它在做什么。 更新经过进一步考虑,我猜它所做的只是触发表单提交,就像按钮类型为 submit 所做的那样。
【问题讨论】:
-
您能否发布代码,说明您如何选择该复选框以获得“on”值。我之前在使用 jQuery 时遇到过这种情况,可能会有所帮助。