0

在 Javascript 表单中禁用(灰显)字段的最佳方法是什么?我disabled="disabled"在表单及其字段上都尝试过,但都不起作用,例如:

<form:form id="testForm" method="post" disabled="disabled" action="${pageContext.request.contextPath}/testSave" commandName="testForm">
    <tr>
        <td valign="top" disabled="disabled">Name:&nbsp;</td>
        <td valign="top"><form:input disabled="disabled" path="fName"/></td>
    </tr>
</form:form>

关于我在这里做错了什么的任何想法?

4

5 回答 5

1

使用 JQuery,您可以执行以下操作来禁用给定表单的所有表单字段:

$('#formId').find('input,select,textarea[,other elements]').prop('disabled', true);
于 2013-03-12T17:16:52.853 回答
1

嗯,这有点取决于你想要做什么。

禁用表单字段的“肯定触发”方式是输入上的“禁用”和“只读”的组合。在两者之间,您可以涵盖您可能想要的所有内容:

  • 使输入变灰
  • 使输入不可编辑
  • 使输入不可聚焦
  • 防止输入与表单一起发送

由于某些浏览器不支持禁用的“灰色”部分,因此最好的解决方法是设置自定义 CSS 以按照您希望它们显示的方式显示禁用(或只读)字段。

要为您想要对表单执行的操作获得正确的解决方案,请在此处查找两个属性之间的差异:http: //kreotekdev.wordpress.com/2007/11/08/disabled-vs-readonly-form-fields /

编辑:此外,如果数据不与 form 一起发送,您可能会考虑用文本替换禁用的输入。. . 比拥有一个他们无法使用的输入字段更容易让用户感到困惑。

于 2013-03-12T17:18:38.987 回答
0

听起来您可以使用参考站点来复习 HTML。我发现 W3School 是一个很好的起点,它有各种在线技术的教程和参考资料。

专门用于HTMLHTML 输入标签

另外,它怎么不起作用?(它没有变灰,或者用户仍然可以输入它,...?)

于 2013-03-12T17:20:49.877 回答
0

请参阅下面的 js 示例;我希望我的看法与您的愿望相符:

http://jsbin.com/avopuf/3/

根据您的要求更改css。

于 2013-03-12T17:21:50.017 回答
0

您可以禁用input标签,但不能td

td 标签属性

于 2013-03-12T17:14:43.073 回答