I have recently developed an HTML5 jQuery plugin and I'm having trouble removing the red border on required fields in FF4 beta.
I noticed that FF applies this border/outline in required fields and removes it when value is set. The problem is that I am using the value attribute to emulate the plac开发者_StackOverflow中文版eholder attr in older browsers. Therefore I need all inputs with this feature to not show the red line.
You can see the problem in the demo page of the plugin here
There's some new pseudo selectors for some of the new HTML5 form features available to you in CSS. You're probably looking for :invalid. The following are all from the MDC Firefox 4 docs:
The
:invalidCSS pseudo-class is applied automatically to elements whose contents fail to validate according to the input's type settingThe
:-moz-submit-invalidpseudo-class is applied to the submit button on form fields when one or more form fields doesn't validate.The
:requiredpseudo-class is now automatically applied to fields that specify the required attribute; the:optionalpseudo-class is applied to all other fields.The
:-moz-placeholderpseudo-class has been added, to let you style placeholder text in form fields.The
:-moz-focusringpseudo-selector lets you specify the appearance of an element when Gecko believes the element should have a focus indication rendered.
To be more specific you need to apply that style to the input control.
input:invalid {
box-shadow: none;
}
use this code as Quick and simple solution
:invalid {
box-shadow: none;
}
:-moz-submit-invalid {
box-shadow: none;
}
:-moz-ui-invalid {
box-shadow:none;
}
Reference:- https://developer.mozilla.org/en-US/docs/Web/CSS/:invalid
Please try this,
$("form").attr("novalidate",true);
for your form in your global .js file or in header section.
Wrap your required input into a form with novalidate attribute
<form novalidate>
<input required>
</form>
加载中,请稍侯......
精彩评论