发布复选框值

时间:2012-09-17 19:27:28

标签: javascript jquery backbone.js handlebars.js mustache

我的网页上有一组复选框。在保存时,我会对表单进行序列化和POST。

<div>
<label for="ViewAsWebpage">
{{#if this.ViewAsWebpage}}
   <input type="hidden" id="ViewAsWebpage" name="ViewAsWebpage" value="true"/> 
   <input type="checkbox" class="enable-checkbox" checked /> 
{{else}}
   <input type="hidden" id="ViewAsWebpage" name="ViewAsWebpage"  value="false"/> 
   <input type="checkbox" class="enable-checkbox"  /> 
{{/if}}
<span>View as Webpage</span>
</label>
</div>

使用上面的代码:

  • on GET - 根据属性选中/取消选中复选框 ViewAsWebpage
  • on POST - 无论用户选择什么,都应该发布。

但是当我发布POST时,它没有发送正确的值。有人可以提出正确的方法吗?

2 个答案:

答案 0 :(得分:3)

您的<input type="checkbox">个元素缺少name个属性,因此在发布表单时它们与请求参数不对应。

答案 1 :(得分:1)

我认为问题在于您没有使用名称属性。

<input type="checkbox" class="enable-checkbox" name="key_in_post" /> 

使用它你应该在POST数据中看到它,在这种情况下,key_in_post,如果被选中则值为“on”。