无法获取禁用按钮工作

时间:2010-04-10 04:59:40

标签: javascript jquery

嘿伙计们,快速问题,我有这个javascript / jquery函数,它基本上包含了图像括号中的输入,并且该函数的第一部分可以正常工作,但是按钮后面没有禁用,我无法找出原因(最后一行)不起作用)。如果有人有想法,请告诉我。提前谢谢。

<input id="2image" type="button" value="Attach" onclick="imageid('message')">

<script>
    function imageid(input) {
        var obj=document.getElementById(input);
        obj.value+="[image]image[/image]";

        $("#2image").attr({ disabled:true, value:"Inserted" });
    }
</script>

4 个答案:

答案 0 :(得分:4)

你可能只是对这个微不足道的限制感到磕磕绊:

http://www.w3.org/TR/html401/types.html#type-name

  

ID NAME 令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0- 9]),连字符(“ - ”),下划线(“_”),冒号(“:”)和句号(“。”)。

即。 id="2image"无效。

答案 1 :(得分:1)

您需要将disabled属性设置为“disabled”,而不是true,我个人更喜欢使用.val()来设置值。

$("#2image").attr('disabled', 'disabled').val('Inserted');

有几点意见:

最后一行是jQuery,而前面的行是vanilla JavaScript。您确定通过<script type="text/javascript" src="jquery-1.4.2.js"></script>代码在网页中加入了jQuery吗?

如果您确实包含jQuery,则应考虑使用jQuery运算符(getElementById)替换$('#' + input)调用,或者如果修改为调用代码以替换$(input) # 1}}):

$(input).val($(input).val() + '[image]image[/image]');

答案 2 :(得分:1)

只需访问DOMElement并通过vanilla javascript更改它:

$(“#2image”)。val(“Inserted”)。get(0).disabled = true;

$('input[value="Inserted"]').get(0).disabled = true;

我刚在谷歌浏览器的Javascript控制台中运行此功能,以更改“添加注释”按钮以禁用并显示“问题!”

答案 3 :(得分:0)

尝试设置$("elements").attr('disabled', 'disabled');