2012-01-25 65 views
1

我有这个在形式风格的输入字段,我的CSS文件:CSS为残疾人表单输入

input,textarea,input,select,input,checkbox { 
    font-size:12px; 
    font-family:Verdana,Arial,Helvetica,sans-serif; 
    color:#98925C; 
    background-color:#000; 
    border:1px solid #413E22; 
} 

当我在表格上使用disabled虽然(例如,当按下提交按钮),这不是不应该灰色地出现。

我有这样的提交按钮HTML

onclick="this.disabled=true;this.value=' done ';this.form.submit();" 

我怎样才能使它所以按钮变灰一次点击?

回答

2

问题是您的样式覆盖了禁用表单元素的浏览器默认值。

您需要在CSS中指定:disabled伪类来重新定义样式。

这是一个jsFiddle,它显示了它是如何工作的。

3

它在IE中灰了。对于其他浏览器,不过,你需要使用专门定义你的“已禁用元素”风格:

:disabled { 
    color: #6b849a; 
    text-shadow: 1px 1px #ffffff; 
    cursor: default; 
} 

类似的东西(虽然你可能不得不申请!important如果有级联问题)。

2
input[disabled]{ 
    styles here 
} 
+0

不会工作,因为没有属性“禁用” – Bergi

+0

@Bergi适合我:http://jsfiddle.net/PYRWK/ – graphicdivine

+0

啊,好吧,属性[反映](http://www.w3 .org/TR/html5/Overview.html#反映)该属性。我认为整个表格会被禁用,但是即使是伪类似乎也不起作用。 – Bergi

0

使用:disabled pseudoclass。这可能不适用于旧版本的浏览器,并且肯定无法在IE中使用,所以您也可以在禁用它时向表单添加普通类。