发送输入禁用数据

时间:2016-02-03 10:00:44

标签: php jquery html

我有一个带输入文字的表格;我用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);
    }    
});

2 个答案:

答案 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;的值如果已启用,则为文本字段;如果禁用文本字段,则为隐藏字段。