我正在使用js来勾选一个复选框,它启用或禁用文本输入。
一直有效,直到我用google jquery api把它放到一个实时表单中。
很奇怪,但......某处必定是冲突。
表单元素是:(代码不能正确添加到此帖子)
<input type="checkbox" name="others" onclick="enable_text(this.checked)" class="medium" /></div>
信用卡上的姓名(如果与上述不同)
js是:
function enable_text(status) { status=!status; document.form1.other_name.disabled = status; }
我做错了什么,我使用了body onload handler。
<body onload=enable_text(false);>
JS FIDDLE:http://www.jsfiddle.net/ozzy/H8VPY/4/
答案 0 :(得分:4)
这里是一个jQuery解决方案:
$("input:checkbox").click(function() {
$("input:text").attr("disabled", !this.checked);
});
只需将这些通用选择器替换为更具体的选择器。
除了此代码之外,您可能还希望禁用(最初)文本框。
<input type="text" disabled="disabled" />
答案 1 :(得分:3)
你的jsfiddle演示中有几个问题。
<script>
及其周围的评论。<form name="form1">
,导致document.form1
无法返回任何内容。答案 2 :(得分:2)
<强> Live Example 强>
function enable_text(status) {
status = (status) ? false : true; //convert status boolean to text 'disabled'
document.form1.other_name.disabled = status;
}
注意强>
您还需要在jsfiddle示例中使用名称为div
的{{1}}标记打包<form>
,以便正常使用
form1