我有一个带输入文字的表格;我用JQuery
动态地将此输入更改为禁用 - 但有时我在此输入中添加了一些内容并禁用它。当我发送此表单时,我的数据
即使被禁用,我如何获得此输入的值:
<input type="text" id="myInput" name="myInput"/>
JQuery:
$('#Checkbox').change(function() {
if ($('#myInput').prop("disabled")) {
$("#myInput").prop('disabled', false);
} else {
$("#myInput").prop('disabled', true);
}
});
答案 0 :(得分:3)
readonly
元素不可编辑,但会在相应的表单提交时发送。 disabled
元素不可编辑,不会在提交时发送。
因此,不要将其disabled
更改为readonly
$('#Checkbox').change(function() {
if($('#myInput').prop("readonly")) {
$( "#myInput" ).prop('readonly', false);
} else{
$( "#myInput" ).prop('readonly', true);
}
});
答案 1 :(得分:0)
您可以通过在下方添加一个隐藏字段并使用您想要POST的值来完成此操作。
<input type="text" id="myInput" name="myInput"/>
<input type="hidden" id="myInputHidden" name="myInput"/>
然后
$('#Checkbox').change(function() {
$("#myInputHidden").val($("#myInput").val());
if ($('#myInput').prop("disabled")) {
$( "#myInput" ).prop('disabled', false);
}
else {
$( "#myInput" ).prop('disabled', true);
}
});
表单POST时,&#39; myInput&#39;的值如果已启用,则为文本字段;如果禁用文本字段,则为隐藏字段。