2014-09-30 93 views
0

我有一个代码,我想,如果没有输入,边框颜色是蓝色。我有这样的:边框颜色变化没有输入

<fieldset> 
    <label>Number</label> 
    <input type="number" value="1" max="10" min="1" step="1" required> 
</fieldset> 

input:out-of-range { 
border: solid red 1px; 
} 
input[value=""] { 
border: solid purple 1px; 
} 

我想数字框是紫色的,当其空

+0

您的代码已经在工作Edzo.http://jsfiddle.net/no39s521/或者你想要它在表单提交?请清除这一点 – 2014-09-30 07:56:39

+0

在JSfiddle中它的工作原理是,当没有输入时,它显示一个红色边框。是不是在超出范围位工作的位? – Bowersbros 2014-09-30 07:56:48

+0

我希望数字框在空白而不是红色时显示紫色边框 – 2014-09-30 07:59:01

回答

3

你不能以这种方式使用属性选择器。更改<input>的值将修改property, not the attribute

既然你已申请但你<input>required属性,你可以使用:invalid伪选择的:

input{ 
    border:1px solid red; 
} 
input:invalid { 
    border: 1px solid purple; 
} 

JSFiddle

文档

+0

谢谢!我现在只想要在范围内没有颜色。我可以那样做吗? – 2014-09-30 08:05:36

+0

在这种情况下,超出范围的任何内容都被视为无效,所以':超出范围'会产生类似的结果。你认为什么是有效的,但超出范围? – George 2014-09-30 08:08:46