Jquery:禁用"输入"字段在表单中不可用

Neo*_*Neo 1 javascript jquery

我正在尝试根据用户输入动态设置表单内的输入值(在我的情况下为"choice").设置所需的值后,我想禁用该字段,以便用户无法更改它.这是我正在使用的代码.

// HTML
<select name="0-choices" id="id_0-choices">
<option value="Phone">Phone</option>
<option value="Fax">Fax</option>
<option value="Voicemail">Voicemail</option>
</select>

//Javascript
$(cfield).children().first().removeAttr('selected');
$(cfield).children('option[value="Voicemail"]').attr('selected','selected');
//$(cfield).val('Voicemail');
$(cfield).attr('disabled','disabled');
Run Code Online (Sandbox Code Playgroud)

问题是,如果我禁用该字段,则该字段在发布的数据中不可用.所以我的验证函数抱怨数据不可用.如何"冻结"输入字段并能够发布它.

ale*_*ion 7

我也遇到了这个问题,猜测你在发送Ajax请求时尝试禁用字段,我发现的最佳解决方案是使用readonly:

$(cfield).attr('readonly', true);
Run Code Online (Sandbox Code Playgroud)

用户无法修改字段的值,但仍然可以读取它们