无法获得禁用按钮工作
嘿家伙,快速问题,我有这个基本上包装在图像括号中的输入的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>
你可能只是绊这个微不足道的限制:
http://www.w3.org/TR/html401/types.html#type-name
ID和名称代币必须以字母([A-Za-z])开头,后面可以跟随任意数量的字母,数字([0-9]),连字符(“ - ”),下划线“_”),冒号(“:”)和句点(“。”)。
I.e. id="2image"
无效。 。
您需要设置残疾人属性设置为“已禁用”,而不是真实的,我个人比较喜欢使用.val()
设定值。
$("#2image").attr('disabled', 'disabled').val('Inserted');
几个观察:
的最后一行是jQuery的,而前述线是香草的JavaScript。你确定你通过<script type="text/javascript" src="jquery-1.4.2.js"></script>
标签在你的页面中包含jQuery吗?
如果你确实包括jQuery的,你应该考虑使用jQuery的运营商更换你的getElementById
调用($('#' + input)
,或只是$(input)
如果修改调用代码前面加上#
):
$(input).val($(input).val() + '[image]image[/image]');
我是积极的jQuery包括在内,但它是1.3.2。出于某种原因,您的建议无效。是否因为有正常的javascript处理它?第一部分将文本附加到textarea。我想这可以很容易地在JQuery中完成,我刚刚离开它,因为我很久以前做了它,它的工作。 – Scarface 2010-04-10 05:08:02
我试过改变 var obj = document.getElementById(input); obj.value + =“[image] image [/ image]”; 至 $(input).val($(input).val()+'[image] image [/ image]'); 和顶部停止工作 – Scarface 2010-04-10 05:13:20
我认为这是因为jQuery与正常的JavaScript混合在一起。 – Scarface 2010-04-10 05:20:24
只需访问一个DOMElement,并通过香草的JavaScript更改:
$( “#2image”)VAL( “未插入”)得到(0).disabled = TRUE;
$('input[value="Inserted"]').get(0).disabled = true;
我只是跑这个在JavaScript控制台中的谷歌浏览器更改添加注释按钮禁用,并显示“疑难杂症!”
欣赏它吉姆,原来是一个奇怪的变量命名问题哈哈。 +1为你的时间。 – Scarface 2010-04-10 06:08:53
@面:谢谢。无论如何,我都粘贴了错误的代码。我已经更新了我的答案,以防有人发现这个问题,这不是命名约定。 – 2010-04-12 18:23:30
请注意,我认为大多数浏览器只会浏览一下,但谁知道...... – deceze 2010-04-10 05:51:35
+1。如果是这种情况,他可以使用'$('input [value =“Attach”]')'作为选择器。 – 2010-04-10 05:53:30
@Jim或者,你知道,他可以修正身份证。 ;) – deceze 2010-04-10 05:55:05