在jQuery中提交禁用表单字段的最佳方法?

时间:2012-01-13 18:00:19

标签: jquery html post submit

似乎有几种方法可以在jQuery中提交(POST)禁用的表单字段:

  • 隐藏字段会在输入更改时更改,并提交
  • 提交时手动附加键/值对
  • 恢复服务器端的值(仅当值不会发生变化时)

我想知道哪些(如果有的话)被认为是提交禁用表单字段的最佳做法。显然readOnly是可用的最佳选择,但我有复选框,即使它们被禁用(由于业务逻辑)我也需要提交。我意识到这不是一个理想的情况,但很少有网络开发的情况。

是否有提交已停用表单元素的最佳做法?

3 个答案:

答案 0 :(得分:8)

最佳选择是使输入只读 - 为复选框创建一个单击事件,只返回false,并更改其背景颜色。

没有最好的做法,但那个需要最少的捏造。

答案 1 :(得分:5)

第四种解决方案是在提交表单之前启用复选框:

$("form").submit(function() {
    $("input:checkbox", this).prop("disabled", false);
});

如果您不想重新启用所有复选框,则可以使用更复杂的选择器。

答案 2 :(得分:0)

如果要求发布所有或某些不符合要求的输入,还有另一种方式:

  1. Step1:给出一个类名称(例如mod)。
  2. 第2步:onSubmit,按照以下示例启用了所有这些字段:

    $( “输入[类= MOD]”)removeAttr( '禁用');

  3. 第3步:发布数据

  4. 步骤4:按照以下示例再次禁用这些字段(如果需要):

    $( “输入[类= MOD]”)ATTR( '禁用= “禁用”');