j'en suis =E0 mes d=E9buts en javascript et, voulant proposer un moyen
simple d'inverser une s=E9lection de cases =E0 cocher, j'ai trouv=E9 sur la
toile un script que j'ai un peu adapt=E9 et qui fonctionne bien :
Le jeudi 02/07/09 à 14h26, Mickaël Wolff a écrit :
Denis Bitouzé a écrit :
> (au passage, je ne comprends pas du tout ce qu'est ce « void » mais > passons...)
À étouffer les messages d'erreur du moteur Javascript. En effet, il faut déclarer une variable avant de pouvoir l'utiliser, sinon un warning doit être émis. Ici l'usage de l'opérateur void est maladroit, et risque même de générer des bogues indécrotables.
Si vous en avez d'autres à me conseiller, je suis preneur...
Merci ! -- Denis
Le jeudi 02/07/09 à 14h26,
Mickaël Wolff <mickael.wolff@laposte.net> a écrit :
Denis Bitouzé a écrit :
> (au passage, je ne comprends pas du tout ce qu'est ce « void » mais
> passons...)
À étouffer les messages d'erreur du moteur Javascript. En effet,
il faut déclarer une variable avant de pouvoir l'utiliser, sinon un
warning doit être émis. Ici l'usage de l'opérateur void est
maladroit, et risque même de générer des bogues indécrotables.
Le jeudi 02/07/09 à 14h26, Mickaël Wolff a écrit :
Denis Bitouzé a écrit :
> (au passage, je ne comprends pas du tout ce qu'est ce « void » mais > passons...)
À étouffer les messages d'erreur du moteur Javascript. En effet, il faut déclarer une variable avant de pouvoir l'utiliser, sinon un warning doit être émis. Ici l'usage de l'opérateur void est maladroit, et risque même de générer des bogues indécrotables.
Si vous en avez d'autres à me conseiller, je suis preneur...
Merci ! -- Denis
Denis Bitouzé
Le vendredi 03/07/09 à 17h46, SAM a écrit :
FireBug c'est bien, mais pour les erreurs de JS la console est amplement suffisante.
Euh... la console d'un terminal sous Linux ? Si oui, comment capte-t-on ces erreurs ?
L'avantage de Firebug (que j'ai enfin réussi à faire fonctionner !), c'est qu'on peut « espionner » les valeurs prises par certaines variables... -- Denis
Le vendredi 03/07/09 à 17h46,
SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> a écrit :
FireBug c'est bien, mais pour les erreurs de JS la console est
amplement suffisante.
Euh... la console d'un terminal sous Linux ? Si oui, comment capte-t-on
ces erreurs ?
L'avantage de Firebug (que j'ai enfin réussi à faire fonctionner !),
c'est qu'on peut « espionner » les valeurs prises par certaines
variables...
--
Denis
FireBug c'est bien, mais pour les erreurs de JS la console est amplement suffisante.
Euh... la console d'un terminal sous Linux ? Si oui, comment capte-t-on ces erreurs ?
L'avantage de Firebug (que j'ai enfin réussi à faire fonctionner !), c'est qu'on peut « espionner » les valeurs prises par certaines variables... -- Denis
Denis Bitouzé
Le jeudi 02/07/09 à 15h17, Pascal PONCET a écrit :
<code> function invertCheckBox(boxName) { var boxArray = document.getElementsByTagName(boxName); for(var i=0; i < boxArray.length; i++) { if(boxArray[i].type.toLowerCase != "checkbox") continue; boxArray[i].checked = ! boxArray[i].checked; } } </code>
Pour les archives, je corrige juste une petite erreur (il manque une paire de parenthèses vide après toLowerCase) :
<code> function invertCheckBox(boxName) { var boxArray = document.getElementsByTagName(boxName); for(var i=0; i < boxArray.length; i++) { if(boxArray[i].type.toLowerCase() != "checkbox") continue; boxArray[i].checked = ! boxArray[i].checked; } } </code>
Encore merci ! -- Denis
Le jeudi 02/07/09 à 15h17,
Pascal PONCET <poncet.pascal@club-internet.fr> a écrit :
<code>
function invertCheckBox(boxName) {
var boxArray = document.getElementsByTagName(boxName);
for(var i=0; i < boxArray.length; i++) {
if(boxArray[i].type.toLowerCase != "checkbox") continue;
boxArray[i].checked = ! boxArray[i].checked;
}
}
</code>
Pour les archives, je corrige juste une petite erreur (il manque une
paire de parenthèses vide après toLowerCase) :
<code>
function invertCheckBox(boxName) {
var boxArray = document.getElementsByTagName(boxName);
for(var i=0; i < boxArray.length; i++) {
if(boxArray[i].type.toLowerCase() != "checkbox") continue;
boxArray[i].checked = ! boxArray[i].checked;
}
}
</code>
1. Je ne savais même pas qu'on pouvait utiliser les affectations composées sur les opérateurs logiques (ou ça ne m'était jamais venu à l'esprit vu la rareté d'emploi [je parle pour moi]).
2. Cela dit, je ne l'utiliserais pas sans commenter la ligne, car je trouve que l'interprétation n'est pas d'une lecture immédiate (genre 6 mois plus tard en reprenant le code). Donc, désolé, mais je trouve finalement le gain très relatif.
3. Reste l'esthétique, incontestable.
Cordialement, Pascal
PS: il me vient une idéee, pourquoi ne pas prototyper une méthode appliquée à l'objet "Boolean" pour inverser sa valeur ? Reste à lui trouver un nom explicite ("invert()" ?).
<code> if(! Boolean.prototype.invert) { Boolean.prototype.invert = function() { this ^= 1; // là je ne suis pas sûr de mon coup ! } } </code>
Dr J R Stockton a écrit :
ou el[i].checked ^= 1 ; // ??
Alors là, chapeau !
1. Je ne savais même pas qu'on pouvait utiliser les affectations
composées sur les opérateurs logiques (ou ça ne m'était jamais venu à
l'esprit vu la rareté d'emploi [je parle pour moi]).
2. Cela dit, je ne l'utiliserais pas sans commenter la ligne, car je
trouve que l'interprétation n'est pas d'une lecture immédiate (genre 6
mois plus tard en reprenant le code). Donc, désolé, mais je trouve
finalement le gain très relatif.
3. Reste l'esthétique, incontestable.
Cordialement,
Pascal
PS: il me vient une idéee, pourquoi ne pas prototyper une méthode
appliquée à l'objet "Boolean" pour inverser sa valeur ? Reste à lui
trouver un nom explicite ("invert()" ?).
<code>
if(! Boolean.prototype.invert) {
Boolean.prototype.invert = function() {
this ^= 1; // là je ne suis pas sûr de mon coup !
}
}
</code>
1. Je ne savais même pas qu'on pouvait utiliser les affectations composées sur les opérateurs logiques (ou ça ne m'était jamais venu à l'esprit vu la rareté d'emploi [je parle pour moi]).
2. Cela dit, je ne l'utiliserais pas sans commenter la ligne, car je trouve que l'interprétation n'est pas d'une lecture immédiate (genre 6 mois plus tard en reprenant le code). Donc, désolé, mais je trouve finalement le gain très relatif.
3. Reste l'esthétique, incontestable.
Cordialement, Pascal
PS: il me vient une idéee, pourquoi ne pas prototyper une méthode appliquée à l'objet "Boolean" pour inverser sa valeur ? Reste à lui trouver un nom explicite ("invert()" ?).
<code> if(! Boolean.prototype.invert) { Boolean.prototype.invert = function() { this ^= 1; // là je ne suis pas sûr de mon coup ! } } </code>
Mickaël Wolff
Pascal PONCET a écrit :
2. Cela dit, je ne l'utiliserais pas sans commenter la ligne, car je trouve que l'interprétation n'est pas d'une lecture immédiate (genre 6 mois plus tard en reprenant le code). Donc, désolé, mais je trouve finalement le gain très relatif.
el[i].checked ^= true ; // serait plus lisible dans ce cas ?
PS: il me vient une idéee, pourquoi ne pas prototyper une méthode appliquée à l'objet "Boolean" pour inverser sa valeur ? Reste à lui trouver un nom explicite ("invert()" ?).
2. Cela dit, je ne l'utiliserais pas sans commenter la ligne, car je
trouve que l'interprétation n'est pas d'une lecture immédiate (genre 6
mois plus tard en reprenant le code). Donc, désolé, mais je trouve
finalement le gain très relatif.
el[i].checked ^= true ; // serait plus lisible dans ce cas ?
PS: il me vient une idéee, pourquoi ne pas prototyper une méthode
appliquée à l'objet "Boolean" pour inverser sa valeur ? Reste à lui
trouver un nom explicite ("invert()" ?).
2. Cela dit, je ne l'utiliserais pas sans commenter la ligne, car je trouve que l'interprétation n'est pas d'une lecture immédiate (genre 6 mois plus tard en reprenant le code). Donc, désolé, mais je trouve finalement le gain très relatif.
el[i].checked ^= true ; // serait plus lisible dans ce cas ?
PS: il me vient une idéee, pourquoi ne pas prototyper une méthode appliquée à l'objet "Boolean" pour inverser sa valeur ? Reste à lui trouver un nom explicite ("invert()" ?).
En fr.comp.lang.javascript <4a4f4c56$0$442$, 4 Juillet 2009 14:34:34, Mickaël Wolff a écrit :
Pascal PONCET a écrit :
2. Cela dit, je ne l'utiliserais pas sans commenter la ligne, car je trouve que l'interprétation n'est pas d'une lecture immédiate (genre 6 mois plus tard en reprenant le code). Donc, désolé, mais je trouve finalement le gain très relatif.
el[i].checked ^= true ; // serait plus lisible dans ce cas ?
ou el[i].checked ^= 1; // basculez
PS: il me vient une idéee, pourquoi ne pas prototyper une méthode appliquée à l'objet "Boolean" pour inverser sa valeur ? Reste à lui trouver un nom explicite ("invert()" ?).
Boolean.not ?
Pour moi, la méthode ne marche pas.
-- (c) John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v6.05 MIME. Web <URL:http://www.merlyn.demon.co.uk/> - FAQish topics, acronyms, & links. Proper <= 4-line sig. separator as above, a line exactly "-- " (SonOfRFC1036) Do not Mail News to me. Before a reply, quote with ">" or "> " (SonOfRFC1036)
En fr.comp.lang.javascript <4a4f4c56$0$442$426a74cc@news.free.fr>, 4
Juillet 2009 14:34:34, Mickaël Wolff <mickael.wolff@laposte.net> a écrit
:
Pascal PONCET a écrit :
2. Cela dit, je ne l'utiliserais pas sans commenter la ligne, car je
trouve que l'interprétation n'est pas d'une lecture immédiate (genre 6
mois plus tard en reprenant le code). Donc, désolé, mais je trouve
finalement le gain très relatif.
el[i].checked ^= true ; // serait plus lisible dans ce cas ?
ou el[i].checked ^= 1; // basculez
PS: il me vient une idéee, pourquoi ne pas prototyper une méthode
appliquée à l'objet "Boolean" pour inverser sa valeur ? Reste à lui
trouver un nom explicite ("invert()" ?).
Boolean.not ?
Pour moi, la méthode ne marche pas.
--
(c) John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v6.05 MIME.
Web <URL:http://www.merlyn.demon.co.uk/> - FAQish topics, acronyms, & links.
Proper <= 4-line sig. separator as above, a line exactly "-- " (SonOfRFC1036)
Do not Mail News to me. Before a reply, quote with ">" or "> " (SonOfRFC1036)
En fr.comp.lang.javascript <4a4f4c56$0$442$, 4 Juillet 2009 14:34:34, Mickaël Wolff a écrit :
Pascal PONCET a écrit :
2. Cela dit, je ne l'utiliserais pas sans commenter la ligne, car je trouve que l'interprétation n'est pas d'une lecture immédiate (genre 6 mois plus tard en reprenant le code). Donc, désolé, mais je trouve finalement le gain très relatif.
el[i].checked ^= true ; // serait plus lisible dans ce cas ?
ou el[i].checked ^= 1; // basculez
PS: il me vient une idéee, pourquoi ne pas prototyper une méthode appliquée à l'objet "Boolean" pour inverser sa valeur ? Reste à lui trouver un nom explicite ("invert()" ?).
Boolean.not ?
Pour moi, la méthode ne marche pas.
-- (c) John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v6.05 MIME. Web <URL:http://www.merlyn.demon.co.uk/> - FAQish topics, acronyms, & links. Proper <= 4-line sig. separator as above, a line exactly "-- " (SonOfRFC1036) Do not Mail News to me. Before a reply, quote with ">" or "> " (SonOfRFC1036)
Mickaël Wolff
Dr J R Stockton a écrit :
el[i].checked ^= true ; // serait plus lisible dans ce cas ?
ou el[i].checked ^= 1; // basculez
Certes, mais ici mon commentaire n'était pas un commentaire de code à proprement parlé. C'est plutôt un détournement pour commenter la proposition de syntaxe.
Boolean.not ?
Pour moi, la méthode ne marche pas.
Là aussi c'était une proposition, mais pour un nom de méthode :D
el[i].checked ^= true ; // serait plus lisible dans ce cas ?
ou el[i].checked ^= 1; // basculez
Certes, mais ici mon commentaire n'était pas un commentaire de code à
proprement parlé. C'est plutôt un détournement pour commenter la
proposition de syntaxe.
Boolean.not ?
Pour moi, la méthode ne marche pas.
Là aussi c'était une proposition, mais pour un nom de méthode :D
el[i].checked ^= true ; // serait plus lisible dans ce cas ?
ou el[i].checked ^= 1; // basculez
Certes, mais ici mon commentaire n'était pas un commentaire de code à proprement parlé. C'est plutôt un détournement pour commenter la proposition de syntaxe.
Boolean.not ?
Pour moi, la méthode ne marche pas.
Là aussi c'était une proposition, mais pour un nom de méthode :D