Salut à tous,
Une question bête et certainement très simple, j'ai trouvé un petit script sur le net, mais j'ai préféré le personnaliser un peu. Par exemple, celui-ci ne s'applique qu'aux input de type text et j'aimerais aussi l'appliquer au input de type password.
Pour ne pas trop me répéter dans mon code, j'ai déporter le corps des fonctions dans de nouvelles fonctions, j'arrive finalement à :
Mon code semble fonctionner mais cepandant je me demande si je ne peux pas directement appeler mes fonctions "form_focus" et "form_blur" directement en paramètre de blur ou focus. J'ai essayé le code suivant mais il ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 $(document).ready(function() { $('input[type="text"]').focus(function() { form_focus(this); }); $('input[type="text"]').blur(function() { form_blur(this); }); $('input[type="password"]').focus(function() { form_focus(this); }); $('input[type="password"]').blur(function() { form_blur(this); }); }); function form_focus(input) { if (input.value == input.defaultValue){ input.value = ''; } } function form_blur(input) { if ($.trim(input.value) == ''){ input.value = (input.defaultValue ? input.defaultValue : ''); } }
Voilà finalement je m'aperçois que je ne sais pas vraiment utiliser le mot clé this, si vous pouvez m'éclairer un peu et me dire si il est possible de refactoriser mon code ? Je suis aussi ouvert à tout commentaires, critiques, suggestions...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 $(document).ready(function() { $('input[type="text"]').focus(form_focus(this)); $('input[type="text"]').blur(form_focus(this)); $('input[type="password"]').focus(form_focus(this)); $('input[type="password"]').blur(form_focus(this)); }); function form_focus(input) { if (input.value == input.defaultValue){ input.value = ''; } } function form_blur(input) { if ($.trim(input.value) == ''){ input.value = (input.defaultValue ? input.defaultValue : ''); } }
Merci à tous de m'avoir lu![]()
Partager