0

我有一个默认禁用的文本框... onclick 可以工作并使其可以输入,但是当我单击单选按钮时.. 它不会再次禁用文本框

有什么线索吗?

<input type="radio" name="group1" value="website" OnBlur="javascript:document.getElementById('websiteurl').disabled = true;" OnClick="javascript:document.getElementById('websiteurl').disabled = false;">
<input name="websiteurl" type="text" id="websiteurl" value="http://" size="50" disabled="true" />

提前致谢

4

5 回答 5

2

没有“启用”属性。您必须将 disabled 设置为“disabled”以禁用输入,或删除属性“disabled”以启用它。

disabled="true" 是错误的语法,它应该是 disabled="disabled"

于 2011-03-09T15:43:12.820 回答
0

尝试disabled=true代替enabled=false

于 2011-03-09T15:39:15.250 回答
0

没有属性enabled。您使用disabled并将其设置为trueor false

除此之外:

使用小写属性(否则它不是有效的 XHTML);没有必要放在javascript:它前面。此外,最好从 JavaScript 代码附加事件而不是内联它们。特别是如果您使用像 jQuery 这样的库,这非常容易:

$('input[name=group1][value=website]').blur(function() {
    $('#websiteurl').attr('disabled', 'true');
}).click(function() {
    $('#websiteurl').removeAttr('disabled');
});

(当然 a#id会比input[name=group1][value=website]选择器好得多)

于 2011-03-09T15:39:51.427 回答
0

将启用更改为禁用,它将起作用。

没有启用的属性。

于 2011-03-09T15:40:16.033 回答
0

不完全确定上下文,但在这种情况下复选框是否更适合禁用或启用文本框?

$('input[type="checkbox"]').click(function() {
    if (this.checked) {
        $('#websiteurl').removeAttr('disabled');
    }
    else {
        $('#websiteurl').attr('disabled', true);
    }
});
于 2011-03-09T15:51:47.810 回答