禁用元素不通过表单提交

时间:2017-05-10 13:10:01

标签: javascript jquery html

我在提交表单时禁用了一些元素并启用了这些元素。这样我就可以提交这些价值观了。但我无法在动作类中找到值,但元素已启用。

由于我使用的是jquery 1.4.4版本,我无法使用.prop()方法。

这是禁用元素的代码:

$("#"+index+'_procStepTitleAutoSuggest').attr("disabled","disabled");
$("#"+index+"_crtRowActiontxt").attr("disabled","disabled");
$("select#"+index+"_stepFunction").attr("disabled","disabled");
$("input#"+index+"_stepRTime").attr("disabled","disabled");
$("#"+index+"_donotchkBox").attr("disabled","disabled");
$("select#"+index+"_applicableAccessTime").attr("disabled","disabled");

以下是提交表单时的代码(启用元素):

    $('form').submit(function(){
$("#procedure_main_div_container").find("input,select,checkbox").attr('disabled', false);
})

请帮帮我。提前谢谢。

3 个答案:

答案 0 :(得分:4)

您无法在表单中发布已禁用的元素值。 只是您可以将禁用更改为只读 attr

答案 1 :(得分:1)

而不是:

$('form').submit(function(){
  $("#procedure_main_div_container").find("input,select,checkbox").attr('disabled', false);
})

试试这个:

$('form').submit(function(){
  $("#procedure_main_div_container").find("input,select,checkbox").each(function() {
    this.disabled = false;
  });
});

编辑: 我看到了问题。 attr('disabled', false)没有按照您的期望行事。我或其他答案应该有效。

答案 2 :(得分:1)

您可以使用此功能删除所有选择器的已禁用属性

$('form').submit(function(){
    $("#procedure_main_div_container").find("input,select,checkbox").removeAttr('disabled');
})