我正在创建一个HTML表单设计器 - 用户可以将输入元素放在页面上的网格中,然后将其保存到数据库中,其他用户可以使用完成的表单。
现在所有这些实际上已经有效,但我遇到了一个相当微不足道但却很烦人的问题 - 因为我需要在代码中使用实际的输入元素,以便在设计过程中正确显示布局,用户可以输入文本字段,更改复选框等的值,但实际上没有保存,所以这很混乱。现在,表单设计器允许启用/禁用元素,因此禁用页面上的所有元素会更糟。
我的问题是:你能以一种简单的方式完全禁用所有输入元素的默认动作(在点击文本字段后写文本,检查/取消选中复选框,那种东西)吗?到目前为止,我已尝试使用jQuery的preventDefault绑定各种事件,但没有成功。我知道我可以对按键等内容作出反应并撤消它们,但这看起来似乎不必要地复杂。
答案 0 :(得分:2)
尝试
$("input").on('click',function(e){
e.preventDefault();
});
您可以放置change
代替click
收音机和复选框
答案 1 :(得分:1)
根据您拥有的输入类型,您可以提供readonly
属性。直接在html上或通过jQuery $("input").prop("readonly",true);
答案 2 :(得分:0)
考虑您的表单有id:
<form id="test">
</form>
禁用所有输入:
$("#test :input").attr("disabled", true);
匹配所有输入,textarea,select和按钮元素。
如果您只想要元素:
$("#test input").attr("disabled", true);
干杯