0

我正在创建一个 HTML 表单设计器 - 用户可以将输入元素放在页面上的网格中,然后将其保存到数据库中,完成的表单将可供其他用户使用。

现在所有这一切实际上已经有效,但我遇到了一个相当微不足道但令人讨厌的问题 - 因为我需要在代码中使用实际的输入元素,以便布局在设计过程中正确显示,用户可以输入文本字段,更改值复选框等,但实际上都没有保存,所以这很令人困惑。现在表单设计器允许启用/禁用元素,因此禁用页面上的所有元素会更糟。

我的问题是:您能否以简单的方式完全禁用所有输入元素的默认操作(单击文本字段后写入文本、选中/取消选中复选框等)?到目前为止,我已经尝试使用 jQuery 的 preventDefault 绑定各种事件,但没有成功。我知道我可以对按键之类的东西做出反应并撤消它们,但这似乎是不必要的复杂。

4

3 回答 3

2

试试喜欢

$("input").on('click',function(e){
     e.preventDefault();
});

您可以代替change收音机click和复选框

于 2013-08-16T06:31:06.643 回答
1

根据您拥有的输入类型,您可以提供该readonly属性。直接在 html 上或通过 jQuery$("input").prop("readonly",true);

于 2013-08-16T06:43:28.740 回答
0

考虑您的表单有 id :

<form id="test">

</form>

要禁用所有输入:

$("#test :input").attr("disabled", true);

匹配所有输入、文本区域、选择和按钮元素。

如果你只想要元素:

$("#test input").attr("disabled", true);

干杯

于 2013-08-16T06:35:34.513 回答