【发布时间】:2016-03-29 15:21:29
【问题描述】:
当用户提交表单时,我试图获取所有表单字段,问题在于复选框字段,即当复选框被选中时,名称是提交到服务器,但如果未选中,则复选框不会提交到服务器,我正在使用淘汰赛最新版本这是我的工作代码:
<form data-bind="submit: submitForm">
<input type="checkbox" name="checkboxTest" data-bind="checked : value" />
<input type="text" name="textTest" value="Test" />
<button type="submit"> Submit</button>
</form>
这是我的 ViewModel:
function viewModel(data)
{
self.value = ko.observable(true);
// when user submit the form
self.submitForm = function(fields)
{
var dataparams = $(fields).serialize();
// The form fields name are showing here
console.log(dataparams);
}
}
ko.applyBindings(new viewModel);
任何人都可以告诉我如何获取复选框,即使使用 knockoutjs 未选中该复选框,提前谢谢。
【问题讨论】:
-
viewModel 维护一个更新的
valueobservable。不是提交虚拟机的选项吗? -
我没听明白,你能再澄清一下吗?
-
提交时,服务器是否可以改为接受JSON?如果是这样,发送 viewmodel 数据会更容易,而不是序列化整个表单
-
是的。我需要json形式。你能写一些代码吗?
标签: javascript jquery forms checkbox knockout.js