似乎有是几种方式提交(POST)jQuery中禁用的表单字段:在jQuery中提交禁用表单域的最佳方法?
- 有一个隐藏字段,改变输入更改时,并提交
- 手动附加于键/值对在服务器端(仅如果不是预期值改变)提交
- 还原值
我想知道它(如果有的话)被认为是残疾人提交表单字段的最佳实践。显然readOnly
是可用时的最佳选择,但我有我需要提交的复选框,即使它们已被禁用(由于业务逻辑)。我意识到这不是一个理想的情况,但很少是web开发中的情况。
是否有一个最佳做法提交禁用的表单元素呢?
似乎有是几种方式提交(POST)jQuery中禁用的表单字段:在jQuery中提交禁用表单域的最佳方法?
我想知道它(如果有的话)被认为是残疾人提交表单字段的最佳实践。显然readOnly
是可用时的最佳选择,但我有我需要提交的复选框,即使它们已被禁用(由于业务逻辑)。我意识到这不是一个理想的情况,但很少是web开发中的情况。
是否有一个最佳做法提交禁用的表单元素呢?
最好的办法是使输入只读 - 创建,仅仅返回false复选框,单击事件,并改变他们的背景颜色。
没有最好的做法,而是一个需要最少捏造。
第四个解决方案是提交表单之前启用复选框:
$("form").submit(function() {
$("input:checkbox", this).prop("disabled", false);
});
可以使用更复杂的选择,如果你不想重新启用所有的复选框。
还有另一种方式,如果需要发布的所有或某些disbaled输入:
步骤2:的onSubmit,启用所有以下下面的例子中的那些字段:
$( “输入[类= MOD]”)removeAttr( '禁用');
步骤3:邮政数据
步骤4:再次禁用这些字段(如果需要)按照下面的例子:
$( “输入[类= MOD]”)ATTR('禁用= “禁用”');
禁用的表单元素不应该被提交。正确的做法是在提交时创建隐藏的输入。这里的HTML文档:http://www.w3.org/TR/html4/interact/forms.html#successful-controls – Dave 2012-01-13 18:05:11
@戴夫所以你说的选项1是最好的选择?这也是我所倾向的。另外,感谢您的文档。 – Igor 2012-01-13 18:06:02
@GrailsGuy关于你的第一个选择,如果你有一个禁用的表单域,为什么输入会改变? – 2012-05-09 08:59:56