复选框表单字段名称在表单提交淘汰js时不提交
checkbox form field name is not submitted when form submits knockout js
当用户提交表单时,我试图获取所有表单字段,问题是复选框字段,即当选中复选框时,名称将提交到服务器,但如果未选中,则复选框不会提交到服务器。我使用的是最新版本。以下是我的工作代码:
<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取消选中复选框吗?提前谢谢。
checkboxes
和radio buttons
的值(类型为"radio"或"checkbox"的输入)只有在选中时才会包括在内,这是有意义的,因为它们是布尔状态。如果你想在对象中包含所有输入,你可以手动添加它们。或者,如果您想在数据库中存储true
或false
的值,而不是使用checkbox
,您可以使用值为0
和1
的<select>
(YES,NO)
这里有一个例子:
HTML:
<form data-bind="submit: submitForm, with: form">
<input type="checkbox" name="checkboxTest" data-bind="checked : value" />
<input type="text" name="textTest" value="Test" />
<button type="submit"> Submit</button>
</form>
JS:
function viewModel() {
this.value = ko.observable(true);
}
function parentViewModel() {
var self = this;
self.form = ko.observable();
// when user submit the form
self.submitForm = function() {
var dataparams = ko.toJSON(self.form);
// The form fields name are showing here
console.log(dataparams);
};
}
var vm = new parentViewModel();
vm.form = new viewModel();
ko.applyBindings(vm);
然后您应该获得JSON中的属性。在这种情况下,{"value": true}
或{"value": false}
工作示例
相关文章:
- 如何正确引用传递到淘汰中的当前元素的属性.JS
- 什么是淘汰赛中的根管理员.js以及它指向什么
- 条件显示淘汰js
- 淘汰JS内联三元
- 自定义过滤淘汰js observableArray
- 淘汰JS与Kendo UI网格忘记用户'的选择
- 下拉列表选择的值在UI淘汰js中没有更新
- 淘汰js应用程序的正确文件结构是什么
- 淘汰js可观察扩展的执行顺序是什么
- 开关按钮淘汰js
- 如何设置'样式:color'淘汰赛中的颜色选择器.JS
- 从淘汰js组件中获取数据
- 复选框表单字段名称在表单提交淘汰js时不提交
- 淘汰具有多对多关系的JS ObservableArray
- 淘汰剑道.js下拉组项
- Google Analytics(分析)在淘汰赛中推送跟踪事件.js数据绑定
- 单选按钮在 ajax 调用后不会更改(淘汰 js)
- 在淘汰赛中更改 css 类.js单击鼠标
- 如果语句绑定短路在淘汰.js
- 在页面加载时调用的淘汰 JS 鼠标悬停事件