Aide optimisation jquery pour utilisation CSS

ViPHP
ViPHP | 1996 Messages

04 mai 2011, 23:04

Bonjour à tous,

Je viens de commencer l'utilisation de Jquery et je me heurte à un petit problème d'écriture.
Ce que j'ai fais :

Code : Tout sélectionner

$('input.inputObligatoire').focus(function (){this.value = ""; }); $('input.inputPasObligatoire').focus(function (){this.value = ""; this.style.color= "red";}); $('textarea.textarea').focus(function (){this.value = "";});


Le but si les classes "textarea", "inputPasObligatoire" et "inputObligatoire" prennet le focus, on mets la "value" à vide (cela marche) et pour "inputPasObligatoire", la couleur se met en rouge (ce qui marche aussi).
Ma question se pose avec l'utilisation de .css("color",'red'). J'ai essayé ceci :

Code : Tout sélectionner

$('input.inputObligatoire').focus(function (){this.value = ""; }); $('input.inputPasObligatoire').focus(function (){this.value = ""; this.css("color",'red');}); $('textarea.textarea').focus(function (){this.value = "";});


Mais cela ne fonctionne pas. Une idée ?
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

ViPHP
ViPHP | 928 Messages

04 mai 2011, 23:22

Salut,
essaie de faire plutôt ceci :

Code : Tout sélectionner

$(this).css('color', 'red');
Le principe de Jquery c'est que tout passe par ce fameux mot clef $ il me semble.

Dans le même ordre d'idée, utilise plutôt au lieu de this.value ceci :

Code : Tout sélectionner

$(this).attr('value', '');

devlop78
Invité n'ayant pas de compte PHPfrance

05 mai 2011, 01:50

ou

Code : Tout sélectionner

$(this).val('');

Mammouth du PHP | 568 Messages

05 mai 2011, 16:49

ou

Code : Tout sélectionner

$(this).val('');
+1, c'est ce que j'utilise aussi.

Et effectivement pour accéder à l'élément courant c'est bien un

Code : Tout sélectionner

$(this)
qu'il faut utiliser.

ViPHP
ViPHP | 1996 Messages

06 mai 2011, 13:55

Merci à vous tous...
J'en ai d'autres à poser...
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Mammouth du PHP | 568 Messages

06 mai 2011, 13:58

Merci à vous tous...
J'en ai d'autres à poser...
Quand tu veux ^^

ViPHP
AB
ViPHP | 5818 Messages

06 mai 2011, 17:40

J'avais fais un petit script de validation de formulaire avec jquery il y a quelque temps. C'est un peu le même principe que tu as fais avec en plus des requêtes ajax synchrone et asynchcrone pour la validation. Si ça peut te donner des idées pour la suite...

ViPHP
ViPHP | 3607 Messages

09 mai 2011, 09:38

A noter que si tu peux te passer de jquery, passes-t-en!
Je veux dire que this.value='' est beaucoup plus performant que $(this).val('');
Donc si il n'a pas de problème de compatibilité (utiliser this.value sur des input text marche sur tout les navigateurs), utilise du javascript pur.
Tu gagneras en performance ;)

ViPHP
AB
ViPHP | 5818 Messages

10 mai 2011, 18:03

A noter que si tu peux te passer de jquery, passes-t-en!
Oui mais en même temps pour commencer à apprendre à travailler avec jquery il vaut mieux commencer par des choses simples, qu'on pourrait faire sans jquery... Et puis niveau performances même si théoriquement ça va plus vite sans jquery, pratiquement on ne voit pas la différence, c'est surtout la lib jquery qu'il faut charger en plus.

Cela dit j'en suis à ce point de questionnement également, l'utiliser un peu ou beaucoup. En l'utilisant systématiquement on gagne en temps de développement mais on perd ses réflexes de développement en javascript pur. En l'utilisant de temps en temps on perd un peu de temps puisqu'il faut garder les deux langages en mémoire. En ne l'utilisant pas du tout c'est difficile d'exploiter au mieux les plugins jquery qui rendent parfois de bons services. Bref pas évident de trouver le bon équilibre :)