HTML表单只读的SELECT标签/输入框。
HTML表单只读的SELECT标签/输入框。
根据HTML规范,HTML中的
唯一的问题是,禁用的HTML表单输入不会包含在POST / GET数据中。
什么是模拟属性的最佳方法,同时仍然得到POST数据?
admin 更改状态以发布 2023年5月22日
你应该保持select
元素处于disabled
状态,但同时添加另一个相同名称和值的隐藏input
。
如果你重新启用你的SELECT,你应该在onchange
事件中将它的值复制到隐藏输入中并禁用(或移除)隐藏输入。
这里是一个演示:
$('#mainform').submit(function() { $('#formdata_container').show(); $('#formdata').html($(this).serialize()); return false; }); $('#enableselect').click(function() { $('#mainform input[name=animal]') .attr("disabled", true); $('#animal-select') .attr('disabled', false) .attr('name', 'animal'); $('#enableselect').hide(); return false; });
#formdata_container { padding: 10px; }
Submitted data: