将form表单中的所有输入框值序列化时遇到的问题

var $form = this.$modal.find('form');//获取模态框中的表单元素

var data = $form.serializeArray(); //form中的输入框须有name属性,否则取不到数据。

var postData = {};
data.forEach(function(obj) {
postData[obj.name] = obj.value;//以键值对形式保存表单中的数据,方便进一步操作提交的数据
});

    若将form中的某一输入框(input select等)设置属性disabled,则序列化时不会序列化此输入元素,也就取不到值,所有在一些使用表单进行编辑操作时,某些字段不允许用户编辑,此时就要设置属性readonly,而不能设置成disabled。在使用表单进行一些新加用户、设备等操作时,某些字段不需要,则可以使用disabled。

注意:select下拉框没有readonly属性,若设置为disabled则下拉框的数据无法提交。

你可能感兴趣的:(将form表单中的所有输入框值序列化时遇到的问题)