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

Igo*_*gor 7 html jquery post submit

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

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

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

是否有提交禁用表单元素的最佳实践?

小智 8

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

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


Fré*_*idi 5

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

$("form").submit(function() {
    $("input:checkbox", this).prop("disabled", false);
});
Run Code Online (Sandbox Code Playgroud)

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