61 votes

Firefox 4 Formulaire de saisie obligatoire Bordure/outline rouge

J'ai récemment développé un plugin HTML5 jQuery et j'ai du mal à supprimer la bordure rouge des champs obligatoires dans la version bêta de FF4.

J'ai remarqué que FF applique cette bordure/outline dans les champs obligatoires et la supprime lorsque la valeur est définie. Le problème est que j'utilise l'attribut value pour émuler l'attribut placeholder dans les anciens navigateurs. Par conséquent, j'ai besoin que toutes les entrées avec cette fonctionnalité n'affichent pas la ligne rouge.

Vous pouvez voir le problème dans la page de démonstration de l'application plugin ici

111voto

jason Points 6518

De nouveaux pseudo-sélecteurs pour certaines des nouvelles fonctionnalités des formulaires HTML5 sont disponibles en CSS. Vous recherchez probablement :invalid . Les éléments suivants sont tous issus du Docs MDC Firefox 4 :

  • Le site :invalid La pseudo-classe CSS est appliquée automatiquement aux éléments dont le contenu ne peut être validé en fonction du paramètre de type de l'entrée.

  • Le site :-moz-submit-invalid La pseudo-classe est appliquée au bouton d'envoi du formulaire lorsqu'un ou plusieurs champs du formulaire ne sont pas validés.

  • Le site :required La pseudo-classe est maintenant automatiquement appliquée aux champs qui spécifient l'attribut requis ; le :optional pseudo-classe est appliquée à tous les autres champs.

  • Le site :-moz-placeholder pseudo-classe a été a été ajoutée, pour vous permettre de styliser le texte de remplacement dans les champs de formulaire.

  • Le site :-moz-focusring pseudo-sélecteur vous permet de spécifier l'apparence d'un lorsque Gecko estime que l'élément élément devrait avoir une indication rendu.

2 votes

J'ai configuré la propriété -moz-mox-shadow à 'none'.

27 votes

Vous devriez vraiment cocher sa réponse comme étant "la réponse", et lui donner une flèche vers le haut, c'est ainsi que ce site fonctionne. Ce serait un grand merci :D

0 votes

Il y a aussi le :-moz-ui-invalid pseudo-classe, qui s'applique dans un sous-ensemble de cas de :invalid . Gecko l'utilise et applique une lueur rouge en utilisant l'attribut box-shadow propriété

83voto

WVDominick Points 970

Pour être plus précis, vous devez appliquer ce style au contrôle d'entrée.

input:invalid {
    box-shadow: none;
}

14 votes

Grattez ça. Simplement box-shadow:none a fonctionné pour moi maintenant. Désolé pour l'incompétence.

1 votes

Ajouter aussi le textarea. input:invalid, textarea:invalid { box-shadow : none ; }

49voto

Athimannil Points 2977

Utiliser ce code comme solution rapide et simple

:invalid {
  box-shadow: none;
}

:-moz-submit-invalid {
  box-shadow: none;
}

:-moz-ui-invalid {
  box-shadow:none;
}

Référence : - https://developer.mozilla.org/en-US/docs/Web/CSS/:invalid

3 votes

Cela a parfaitement fonctionné pour moi afin de supprimer (ne jamais afficher) la bordure rouge autour des champs de saisie lorsqu'ils sont invalides dans Firefox. Merci !

0 votes

Le troisième élément est ce qui a supprimé la boîte rouge pour moi.

0 votes

@Andrew Swift les utilise tous pour la compatibilité

0voto

Anoop Velluva Points 158

Essayez ceci, s'il vous plaît,

$("form").attr("novalidate",true) ;

pour votre formulaire dans votre fichier .js global ou dans la section en-tête.

0voto

Andrew Luca Points 1168

Enveloppez vos besoins input en un form avec novalidate attribut

<form novalidate>
    <input required>
</form>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X