|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
salut,
je suis plutot débutant en javascript et je n'arrive pas à faire ceci: ajouter automatiquement du code HTML juste derriere tous les textareas d'une page. y a-t-il une âme charitable pour m'aiguiller ? rico |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
rico a écrit :
> je suis plutot débutant en javascript et je n'arrive pas à faire ceci: > ajouter automatiquement du code HTML juste derriere tous les textareas d'une > page. Toujours plusieurs façons de faire les choses, en voici une. Récupérer les élements : document.getElementByTagName() <http://developer.mozilla.org/en/docs/DOM:document.getElementsByTagName> Boucler sur les élément : for ( ) ... <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Statements:for> Créer un nouvel élément : document.createElement() <http://developer.mozilla.org/en/docs/DOM:document.createElement> Créer du texte : document.createTextNode() <http://developer.mozilla.org/en/docs/DOM:document.createTextNode> Insérer un élément : element.insertBefore() <http://developer.mozilla.org/en/docs/DOM:element.insertBefore> Connaitre l'élément immédiatement après le textarea en cours de traitement : element.nextSibling <http://developer.mozilla.org/en/docs/DOM:element.nextSibling> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Insérer qqchose après tous les textareas</title> <script type="text/javascript"> window.onload = function() { var all, i, txtarea, ajout; if ( document.getElementsByTagName ) { all = document.getElementsByTagName('TEXTAREA'); for ( i = 0; i < all.length; i++ ) { txtarea = all[i]; ajout = document.createElement('span'); ajout.appendChild(document.createTextNode('ajouter : ' + i)); txtarea.parentNode.insertBefore(ajout, txtarea.nextSibling); } } }; </script> </head> <body> <form> <textarea name="uno"></textarea><br> <textarea name="dos"></textarea><br> <textarea name="tres"></textarea><br> <textarea name="quatro"></textarea><br> </form> </body> </html> -- laurent |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
rico a écrit :
> je suis plutot débutant en javascript et je n'arrive pas à faire ceci: > ajouter automatiquement du code HTML juste derriere tous les textareas d'une > page. Toujours plusieurs façons de faire les choses, en voici une. Récupérer les élements : document.getElementByTagName() <http://developer.mozilla.org/en/docs/DOM:document.getElementsByTagName> Boucler sur les élément : for ( ) ... <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Statements:for> Créer un nouvel élément : document.createElement() <http://developer.mozilla.org/en/docs/DOM:document.createElement> Créer du texte : document.createTextNode() <http://developer.mozilla.org/en/docs/DOM:document.createTextNode> Insérer un élément : element.insertBefore() <http://developer.mozilla.org/en/docs/DOM:element.insertBefore> Connaitre l'élément immédiatement après le textarea en cours de traitement : element.nextSibling <http://developer.mozilla.org/en/docs/DOM:element.nextSibling> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Insérer qqchose après tous les textareas</title> <script type="text/javascript"> window.onload = function() { var all, i, txtarea, ajout; if ( document.getElementsByTagName ) { all = document.getElementsByTagName('TEXTAREA'); for ( i = 0; i < all.length; i++ ) { txtarea = all[i]; ajout = document.createElement('span'); ajout.appendChild(document.createTextNode('ajouter : ' + i)); txtarea.parentNode.insertBefore(ajout, txtarea.nextSibling); } } }; </script> </head> <body> <form> <textarea name="uno"></textarea><br> <textarea name="dos"></textarea><br> <textarea name="tres"></textarea><br> <textarea name="quatro"></textarea><br> </form> </body> </html> -- laurent |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
"Laurent vilday" <mokhet@mokhet.com> a écrit dans le message de news: 46781673$0$6206$426a74cc@news.free.fr... > Toujours plusieurs façons de faire les choses, en voici une. > [snip] whaou merci ! Bon, après avoir étudié ta solution et essayé de l'adapter à mon problème, je n'arrive pas vraiment à faire simplement ce que je veux. En fait, je voudrais rajouter tout un bout de code HTML assez long, avec pas mal de balises. J'ai réussi à commencer un peu à coup de createElement, de createTextNode et de createAttribute mais le code js enfle très vite. Est-qu'il y a une fonction qui permettrait d'insérer directement tout un bout de code HTML ? Genre createHTMLNode('<div class="maclass">mon code html</div>') ? Sinon est-ce que les références que tu m'as données existent en français car je galère un peu (bon ok, pas mal en fait) en anglais. rico |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
"Laurent vilday" <mokhet@mokhet.com> a écrit dans le message de news: 46781673$0$6206$426a74cc@news.free.fr... > Toujours plusieurs façons de faire les choses, en voici une. > [snip] whaou merci ! Bon, après avoir étudié ta solution et essayé de l'adapter à mon problème, je n'arrive pas vraiment à faire simplement ce que je veux. En fait, je voudrais rajouter tout un bout de code HTML assez long, avec pas mal de balises. J'ai réussi à commencer un peu à coup de createElement, de createTextNode et de createAttribute mais le code js enfle très vite. Est-qu'il y a une fonction qui permettrait d'insérer directement tout un bout de code HTML ? Genre createHTMLNode('<div class="maclass">mon code html</div>') ? Sinon est-ce que les références que tu m'as données existent en français car je galère un peu (bon ok, pas mal en fait) en anglais. rico |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
"rico" <z66z@hotmail.com> a écrit dans le message de news:
46783aa4$0$5068$ba4acef3@news.orange.fr... > Est-qu'il y a une fonction qui permettrait d'insérer directement tout un > bout de code HTML ? j'ai trouvé finalement: innerHTML ! rico |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
"rico" <z66z@hotmail.com> a écrit dans le message de news:
46783aa4$0$5068$ba4acef3@news.orange.fr... > Est-qu'il y a une fonction qui permettrait d'insérer directement tout un > bout de code HTML ? j'ai trouvé finalement: innerHTML ! rico |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
rico a écrit :
> "rico" <z66z@hotmail.com> a écrit dans le message de news: > 46783aa4$0$5068$ba4acef3@news.orange.fr... >> Est-qu'il y a une fonction qui permettrait d'insérer directement tout un >> bout de code HTML ? > > j'ai trouvé finalement: innerHTML ! > Accessoirement, il existe des bibliothèques comme Prototype, JQuery ou Mochikit qui simplifient énormément ce genre de traitements... |
|
|
|
#9 |
|
Messages: n/a
Hébergeur: |
Bruno Desthuilliers a écrit :
> rico a écrit : > >> "rico" <z66z@hotmail.com> a écrit dans le message de news: >> 46783aa4$0$5068$ba4acef3@news.orange.fr... >> >>> Est-qu'il y a une fonction qui permettrait d'insérer directement tout >>> un bout de code HTML ? >> >> >> j'ai trouvé finalement: innerHTML ! >> > Accessoirement, il existe des bibliothèques comme Prototype, JQuery ou > Mochikit qui simplifient énormément ce genre de traitements... Heu ... si on n'y comprend pas trop en JS, je me demande comment on va se dépatouiller d'usines à gaz ... Charger toute une bibli pour une simple bouche sur des éléments de formulaires ... ça me semble un peu hors d'échelle. Il serai tout de même intéressant de savoir ce qu'il y a à insérer après ces textareas, me semble-ce ?! |
|
|
|
#10 |
|
Messages: n/a
Hébergeur: |
ASM a écrit :
> Bruno Desthuilliers a écrit : >> rico a écrit : >> >>> "rico" <z66z@hotmail.com> a écrit dans le message de news: >>> 46783aa4$0$5068$ba4acef3@news.orange.fr... >>> >>>> Est-qu'il y a une fonction qui permettrait d'insérer directement >>>> tout un bout de code HTML ? >>> >>> >>> j'ai trouvé finalement: innerHTML ! >>> >> Accessoirement, il existe des bibliothèques comme Prototype, JQuery ou >> Mochikit qui simplifient énormément ce genre de traitements... > > Heu ... si on n'y comprend pas trop en JS, je me demande comment on va > se dépatouiller d'usines à gaz ... En ce qui concerne Prototype et Mochikit, ça aurait plutôt tendance à *simplifier* l'utilisation de javascript AMHA. Et le terme d'usine à gaz me semble très exagéré. N'aurais-tu pas comme un a priori, là ? > Charger toute une bibli pour une simple bouche sur des éléments de > formulaires ... ça me semble un peu hors d'échelle. Pas moi, surtout si les factorisation de code déjà effectuées par la bibliothèque permettent par ailleurs d'écrire nettement moins de code "spécifique". |
|
|
|
#11 |
|
Messages: n/a
Hébergeur: |
ASM a écrit :
> Bruno Desthuilliers a écrit : >> rico a écrit : >> >>> "rico" <z66z@hotmail.com> a écrit dans le message de news: >>> 46783aa4$0$5068$ba4acef3@news.orange.fr... >>> >>>> Est-qu'il y a une fonction qui permettrait d'insérer directement >>>> tout un bout de code HTML ? >>> >>> >>> j'ai trouvé finalement: innerHTML ! >>> >> Accessoirement, il existe des bibliothèques comme Prototype, JQuery ou >> Mochikit qui simplifient énormément ce genre de traitements... > > Heu ... si on n'y comprend pas trop en JS, je me demande comment on va > se dépatouiller d'usines à gaz ... En ce qui concerne Prototype et Mochikit, ça aurait plutôt tendance à *simplifier* l'utilisation de javascript AMHA. Et le terme d'usine à gaz me semble très exagéré. N'aurais-tu pas comme un a priori, là ? > Charger toute une bibli pour une simple bouche sur des éléments de > formulaires ... ça me semble un peu hors d'échelle. Pas moi, surtout si les factorisation de code déjà effectuées par la bibliothèque permettent par ailleurs d'écrire nettement moins de code "spécifique". |
|
|
|
#12 |
|
Messages: n/a
Hébergeur: |
Bruno Desthuilliers a écrit :
> ASM a écrit : >> Bruno Desthuilliers a écrit : >>>> >>> Accessoirement, il existe des bibliothèques comme Prototype, JQuery >>> ou Mochikit qui simplifient énormément ce genre de traitements... >> >> Heu ... si on n'y comprend pas trop en JS, je me demande comment on va >> se dépatouiller d'usines à gaz ... > > En ce qui concerne Prototype et Mochikit, ça aurait plutôt tendance à > *simplifier* l'utilisation de javascript AMHA. "simplifier" tout en "compliquant" (les docs sont quasi innexistantes) > Et le terme d'usine à gaz > me semble très exagéré. N'aurais-tu pas comme un a priori, là ? 3 réponses : - Oui j'ai un très très fort à priori. (renforcé par ma pas si vieille expérience du RTC) - Attends ! charger 96ko d'une usine (prototype) qui intègre aussi l'Ajax pour, finalement, n'utiliser que $(), $F(), et peut-être each() .... ? ? à mon idée il vaut mieux, soit les extraire de prototype, soit s'en faire des personnalisations ou se contenter de ses fonctions persos. - C'est absolument génial cette bibli ... si on en a vraiment l'usage. Un usage tout au long du site qui en justifie le chargement ! Ha! j'ai enfin trouvé une doc en français (bon, ce n'est pas la dernière version de prototype, mais ça peut aider) <http://dcabasson.developpez.com/articles/javascript/ajax/documentation-prototype-1.4.0/> >> Charger toute une bibli pour une simple bouche sur des éléments de >> formulaires ... ça me semble un peu hors d'échelle. > > Pas moi, sans doute es-tu en ADSL 32Gb/s ? > surtout si les factorisation de code déjà effectuées par la > bibliothèque permettent par ailleurs d'écrire nettement moins de code > "spécifique". Là, oui, je puis être d'accord. Reste à savoir : quel est l'exact *besoin* en ce cas particulier. Question : Prototype, tout un tas de monde s'en sert, donc normalement il devrait être en cache, comment se passe la gestion du cache alors qu'il y a je ne sais combien de versions de prototype qui errent de par le Net ? Le cache recharge t-il un nouveau prototype (celui indiqué sur la page, c a d celui du site visité) pour chaque site visité ? Il y a t-il un lien qui chargerait le prototype du jour disponible pour tous qque part, et que se passera t-il lorsque ce lien sera mort ? Mêmes questions pour les autres biblis. -- Stephane Moriaux et son (moins) vieux Mac déjà dépassé |
|
|
|
#13 |
|
Messages: n/a
Hébergeur: |
Bruno Desthuilliers a écrit :
> ASM a écrit : >> Bruno Desthuilliers a écrit : >>>> >>> Accessoirement, il existe des bibliothèques comme Prototype, JQuery >>> ou Mochikit qui simplifient énormément ce genre de traitements... >> >> Heu ... si on n'y comprend pas trop en JS, je me demande comment on va >> se dépatouiller d'usines à gaz ... > > En ce qui concerne Prototype et Mochikit, ça aurait plutôt tendance à > *simplifier* l'utilisation de javascript AMHA. "simplifier" tout en "compliquant" (les docs sont quasi innexistantes) > Et le terme d'usine à gaz > me semble très exagéré. N'aurais-tu pas comme un a priori, là ? 3 réponses : - Oui j'ai un très très fort à priori. (renforcé par ma pas si vieille expérience du RTC) - Attends ! charger 96ko d'une usine (prototype) qui intègre aussi l'Ajax pour, finalement, n'utiliser que $(), $F(), et peut-être each() .... ? ? à mon idée il vaut mieux, soit les extraire de prototype, soit s'en faire des personnalisations ou se contenter de ses fonctions persos. - C'est absolument génial cette bibli ... si on en a vraiment l'usage. Un usage tout au long du site qui en justifie le chargement ! Ha! j'ai enfin trouvé une doc en français (bon, ce n'est pas la dernière version de prototype, mais ça peut aider) <http://dcabasson.developpez.com/articles/javascript/ajax/documentation-prototype-1.4.0/> >> Charger toute une bibli pour une simple bouche sur des éléments de >> formulaires ... ça me semble un peu hors d'échelle. > > Pas moi, sans doute es-tu en ADSL 32Gb/s ? > surtout si les factorisation de code déjà effectuées par la > bibliothèque permettent par ailleurs d'écrire nettement moins de code > "spécifique". Là, oui, je puis être d'accord. Reste à savoir : quel est l'exact *besoin* en ce cas particulier. Question : Prototype, tout un tas de monde s'en sert, donc normalement il devrait être en cache, comment se passe la gestion du cache alors qu'il y a je ne sais combien de versions de prototype qui errent de par le Net ? Le cache recharge t-il un nouveau prototype (celui indiqué sur la page, c a d celui du site visité) pour chaque site visité ? Il y a t-il un lien qui chargerait le prototype du jour disponible pour tous qque part, et que se passera t-il lorsque ce lien sera mort ? Mêmes questions pour les autres biblis. -- Stephane Moriaux et son (moins) vieux Mac déjà dépassé |
|
|
|
#14 |
|
Messages: n/a
Hébergeur: |
ASM a écrit :
> Question : > Prototype, tout un tas de monde s'en sert, donc normalement il devrait > être en cache, comment se passe la gestion du cache alors qu'il y a je > ne sais combien de versions de prototype qui errent de par le Net ? > Le cache recharge t-il un nouveau prototype (celui indiqué sur la page, > c a d celui du site visité) pour chaque site visité ? > Il y a t-il un lien qui chargerait le prototype du jour disponible pour > tous qque part, et que se passera t-il lorsque ce lien sera mort ? > Mêmes questions pour les autres biblis. J'utilise prototype depuis un moment dans ma boite, et le problème ne c'est pas (trop) posé. Dans le cadre d'une appli d'entreprise, ca peut ce concevoir (non ?). Je t'accorde que je ne m'étais jamais posé la question pour des sites en ligne sur le web. Mais je te retourne la question quand même pour tes scripts perso que tu modifies... En tout cas, ta réflexion est intéressante. Une réponse juste pour rire (et surtout pour ceux qui ont du gros débit) : un header no-cache (ou expire 0, je ne sais plus trop de tête). -- Jérémie |
|
|
|
#15 |
|
Messages: n/a
Hébergeur: |
ASM a écrit :
> Bruno Desthuilliers a écrit : >> ASM a écrit : >>> Bruno Desthuilliers a écrit : >>>>> >>>> Accessoirement, il existe des bibliothèques comme Prototype, JQuery >>>> ou Mochikit qui simplifient énormément ce genre de traitements... >>> >>> Heu ... si on n'y comprend pas trop en JS, je me demande comment on >>> va se dépatouiller d'usines à gaz ... >> >> En ce qui concerne Prototype et Mochikit, ça aurait plutôt tendance à >> *simplifier* l'utilisation de javascript AMHA. > > "simplifier" tout en "compliquant" (les docs sont quasi innexistantes) Pardon ??? http://www.prototypejs.org/api http://www.prototypejs.org/learn http://mochikit.com/doc/html/MochiKit/index.html http://docs.jquery.com/Main_Page T'es carrément de mauvaise foi, là. > >> Et le terme d'usine à gaz me semble très exagéré. N'aurais-tu pas >> comme un a priori, là ? > > 3 réponses : > - Oui j'ai un très très fort à priori. Ca se voit. > (renforcé par ma pas si vieille expérience du RTC) > - Attends ! charger 96ko d'une usine (prototype) > qui intègre aussi l'Ajax pour, finalement, > n'utiliser que $(), $F(), et peut-être each() .... ? ? T'inquiète, t'a vite fait d'en utiliser bien plus, même si tu ne fais pas d'ajax. > à mon idée il vaut mieux, soit les extraire de prototype, soit s'en > faire des personnalisations ou se contenter de ses fonctions persos. A mon idée, il vaut mieux utiliser une bibliothèque déjà bien conçue et activement maintenue plutôt que de réinventer la roue. > - C'est absolument génial cette bibli ... si on en a vraiment l'usage. Dès qu'on sort du trivial, on en trouve vite l'usage. Maintenant, c'est sûr que si tu a du temps à perdre, tu peux aussi tout faire à la main, hein... > Ha! j'ai enfin trouvé une doc en français (bon, ce n'est pas la dernière > version de prototype, mais ça peut aider) > <http://dcabasson.developpez.com/articles/javascript/ajax/documentation-prototype-1.4.0/> Tu ne lis pas l'anglais technique ??? > >>> Charger toute une bibli pour une simple bouche sur des éléments de >>> formulaires ... ça me semble un peu hors d'échelle. >> >> Pas moi, > > sans doute es-tu en ADSL 32Gb/s ? adsl tout ce qu'il y a de basique - j'habite à la campagne. >> surtout si les factorisation de code déjà effectuées par la >> bibliothèque permettent par ailleurs d'écrire nettement moins de code >> "spécifique". > > Là, oui, je puis être d'accord. > Reste à savoir : quel est l'exact *besoin* en ce cas particulier. Eh oui. S'il s'agit de générer des fragments de dom et de les insérer dans le document, personnellement, je n'hésiterais pas une seconde. > > Question : > Prototype, tout un tas de monde s'en sert, donc normalement il devrait > être en cache, Ah ??? > comment se passe la gestion du cache alors qu'il y a je > ne sais combien de versions de prototype qui errent de par le Net ? Ca marche comme pour n'importe quelle autre ressource. Le cache est lié à l'url de la ressource. Comme l'url de *ta* version de la bibliothèque ne change pas de page en page (enfin, normalement...), le code n'est chargé que s'il n'est pas en cache (ou si le cache a expiré). Si tu veux mutualiser entre plusieurs domaines, ça doit être possible aussi en dédiant un domaine à ça et en passant une url absolue dans tes pages. |
|
|
|
#16 |
|
Messages: n/a
Hébergeur: |
ASM a écrit :
> Bruno Desthuilliers a écrit : >> ASM a écrit : >>> Bruno Desthuilliers a écrit : >>>>> >>>> Accessoirement, il existe des bibliothèques comme Prototype, JQuery >>>> ou Mochikit qui simplifient énormément ce genre de traitements... >>> >>> Heu ... si on n'y comprend pas trop en JS, je me demande comment on >>> va se dépatouiller d'usines à gaz ... >> >> En ce qui concerne Prototype et Mochikit, ça aurait plutôt tendance à >> *simplifier* l'utilisation de javascript AMHA. > > "simplifier" tout en "compliquant" (les docs sont quasi innexistantes) Pardon ??? http://www.prototypejs.org/api http://www.prototypejs.org/learn http://mochikit.com/doc/html/MochiKit/index.html http://docs.jquery.com/Main_Page T'es carrément de mauvaise foi, là. > >> Et le terme d'usine à gaz me semble très exagéré. N'aurais-tu pas >> comme un a priori, là ? > > 3 réponses : > - Oui j'ai un très très fort à priori. Ca se voit. > (renforcé par ma pas si vieille expérience du RTC) > - Attends ! charger 96ko d'une usine (prototype) > qui intègre aussi l'Ajax pour, finalement, > n'utiliser que $(), $F(), et peut-être each() .... ? ? T'inquiète, t'a vite fait d'en utiliser bien plus, même si tu ne fais pas d'ajax. > à mon idée il vaut mieux, soit les extraire de prototype, soit s'en > faire des personnalisations ou se contenter de ses fonctions persos. A mon idée, il vaut mieux utiliser une bibliothèque déjà bien conçue et activement maintenue plutôt que de réinventer la roue. > - C'est absolument génial cette bibli ... si on en a vraiment l'usage. Dès qu'on sort du trivial, on en trouve vite l'usage. Maintenant, c'est sûr que si tu a du temps à perdre, tu peux aussi tout faire à la main, hein... > Ha! j'ai enfin trouvé une doc en français (bon, ce n'est pas la dernière > version de prototype, mais ça peut aider) > <http://dcabasson.developpez.com/articles/javascript/ajax/documentation-prototype-1.4.0/> Tu ne lis pas l'anglais technique ??? > >>> Charger toute une bibli pour une simple bouche sur des éléments de >>> formulaires ... ça me semble un peu hors d'échelle. >> >> Pas moi, > > sans doute es-tu en ADSL 32Gb/s ? adsl tout ce qu'il y a de basique - j'habite à la campagne. >> surtout si les factorisation de code déjà effectuées par la >> bibliothèque permettent par ailleurs d'écrire nettement moins de code >> "spécifique". > > Là, oui, je puis être d'accord. > Reste à savoir : quel est l'exact *besoin* en ce cas particulier. Eh oui. S'il s'agit de générer des fragments de dom et de les insérer dans le document, personnellement, je n'hésiterais pas une seconde. > > Question : > Prototype, tout un tas de monde s'en sert, donc normalement il devrait > être en cache, Ah ??? > comment se passe la gestion du cache alors qu'il y a je > ne sais combien de versions de prototype qui errent de par le Net ? Ca marche comme pour n'importe quelle autre ressource. Le cache est lié à l'url de la ressource. Comme l'url de *ta* version de la bibliothèque ne change pas de page en page (enfin, normalement...), le code n'est chargé que s'il n'est pas en cache (ou si le cache a expiré). Si tu veux mutualiser entre plusieurs domaines, ça doit être possible aussi en dédiant un domaine à ça et en passant une url absolue dans tes pages. |
|
|
|
#17 |
|
Messages: n/a
Hébergeur: |
Bruno Desthuilliers a écrit :
> ASM a écrit : > >> Bruno Desthuilliers a écrit : >> >>> rico a écrit : >>> >>>> "rico" <z66z@hotmail.com> a écrit dans le message de news: >>>> j'ai trouvé finalement: innerHTML ! >>>> >>> Accessoirement, il existe des bibliothèques comme Prototype, JQuery >>> ou Mochikit qui simplifient énormément ce genre de traitements... >> >> >> Heu ... si on n'y comprend pas trop en JS, je me demande comment on va >> se dépatouiller d'usines à gaz ... > > > En ce qui concerne Prototype et Mochikit, ça aurait plutôt tendance à > *simplifier* l'utilisation de javascript AMHA. Et le terme d'usine à gaz > me semble très exagéré. N'aurais-tu pas comme un a priori, là ? > La question posée par ASM mérite réponse et je me permets de la reformuler : il est évident que le DOM permet la construction de page éminemment dynamique ! Mais quelle est la raison qui justifie, dans une page formulaire, l'ajout de code HTML à la suite d'un textarea ? GR |
|
|
|
#18 |
|
Messages: n/a
Hébergeur: |
Bruno Desthuilliers a écrit :
> ASM a écrit : > >> Bruno Desthuilliers a écrit : >> >>> rico a écrit : >>> >>>> "rico" <z66z@hotmail.com> a écrit dans le message de news: >>>> j'ai trouvé finalement: innerHTML ! >>>> >>> Accessoirement, il existe des bibliothèques comme Prototype, JQuery >>> ou Mochikit qui simplifient énormément ce genre de traitements... >> >> >> Heu ... si on n'y comprend pas trop en JS, je me demande comment on va >> se dépatouiller d'usines à gaz ... > > > En ce qui concerne Prototype et Mochikit, ça aurait plutôt tendance à > *simplifier* l'utilisation de javascript AMHA. Et le terme d'usine à gaz > me semble très exagéré. N'aurais-tu pas comme un a priori, là ? > La question posée par ASM mérite réponse et je me permets de la reformuler : il est évident que le DOM permet la construction de page éminemment dynamique ! Mais quelle est la raison qui justifie, dans une page formulaire, l'ajout de code HTML à la suite d'un textarea ? GR |
|
|
|
#19 |
|
Messages: n/a
Hébergeur: |
Guy a écrit :
> il est évident que le DOM permet la construction de page éminemment > dynamique ! Mais quelle est la raison qui justifie, dans une page > formulaire, l'ajout de code HTML à la suite d'un textarea ? Il peut y avoir des tonnes de raisons, et principalement celles auxquelles on ne pense pas. J'ai un exemple très concret que j'utilise dans mon appli qui permet d'avoir visuellement un indicateur de maximum pour les <textarea> et les <input type="text">. Voici une version adaptée pour fciwa exposant la chose : <http://mokhet.com/tests/add_element.html> Au début on a un formulaire simple avec des éléments X et Y, onload on ajoute une barre de progression (cachée) pour indiquer si le maximum de caractères est atteint. Sur le focus, la barre s'affiche et se remplit au fur et à mesure qu'on tape des caractères dans le champ, sur le blur, la barre disparait, sur le keypress l'indicateur est mis à jour et le cas échéant, la valeur est tronquée si dépassant le maximum déclaré. Voila, imo, une raison justifiant l'ajout dynamique a la suite d'un <textarea> ou <input type=text>. PS : oui je sais, le code est un peu fouilli et la détection des positions est pas terrible sous IE6. Mais c'est pour l'exemple, c'est fait à l'arrache et ça passe bien sous FX2 et Opéra9 donc basta IE6, va mourrir ![]() -- laurent |
|
|
|
#20 |
|
Messages: n/a
Hébergeur: |
Bruno Desthuilliers a écrit :
> ASM a écrit : >> Bruno Desthuilliers a écrit : >>> Accessoirement, il existe des bibliothèques comme Prototype, JQuery >>> ou Mochikit qui simplifient énormément ce genre de traitements... >> >> Heu ... si on n'y comprend pas trop en JS, je me demande comment on va >> se dépatouiller d'usines à gaz ... > > En ce qui concerne Prototype et Mochikit, ça aurait plutôt tendance à > *simplifier* l'utilisation de javascript AMHA. Je ne suis pas d'accord. Si on ne comprend pas trop JS, il est fortement recommandé de ne *PAS* utiliser Prototype, Mochikit et autres jQuery. Pourquoi ? Simplement parce que l'utilisation de ces librairies a tendance à nous faire développer à la sauce définie par la librairie. Et donc, on a aucune chance d'apprendre et *comprendre* le fonctionnement de JS. On saura faire du JS façon Prototype, ou du JS façon jQuery, mais en aucune manière du JS façon JS ! Certes les librairies aident (peuvent aider) à réduire le code spécifique à chaque navigateur, mais le jour ou la librairie ne peut pas être utilisée pour une raison X ou Y, et bien on est tout penaud devant le <script></script> qu'on est incapable de remplir. Une fois que JS est compris, pourquoi pas aller voir les librairies, d'accord. Mais tant qu'on y comprend rien, non, il ne faut pas les utiliser, il faut se limiter aux besoins basiques qu'on a avec du bon JS de grand mère. -- laurent |
|
|
|
#21 |
|
Messages: n/a
Hébergeur: |
Bruno Desthuilliers a écrit :
> ASM a écrit : >> Bruno Desthuilliers a écrit : >>> Accessoirement, il existe des bibliothèques comme Prototype, JQuery >>> ou Mochikit qui simplifient énormément ce genre de traitements... >> >> Heu ... si on n'y comprend pas trop en JS, je me demande comment on va >> se dépatouiller d'usines à gaz ... > > En ce qui concerne Prototype et Mochikit, ça aurait plutôt tendance à > *simplifier* l'utilisation de javascript AMHA. Je ne suis pas d'accord. Si on ne comprend pas trop JS, il est fortement recommandé de ne *PAS* utiliser Prototype, Mochikit et autres jQuery. Pourquoi ? Simplement parce que l'utilisation de ces librairies a tendance à nous faire développer à la sauce définie par la librairie. Et donc, on a aucune chance d'apprendre et *comprendre* le fonctionnement de JS. On saura faire du JS façon Prototype, ou du JS façon jQuery, mais en aucune manière du JS façon JS ! Certes les librairies aident (peuvent aider) à réduire le code spécifique à chaque navigateur, mais le jour ou la librairie ne peut pas être utilisée pour une raison X ou Y, et bien on est tout penaud devant le <script></script> qu'on est incapable de remplir. Une fois que JS est compris, pourquoi pas aller voir les librairies, d'accord. Mais tant qu'on y comprend rien, non, il ne faut pas les utiliser, il faut se limiter aux besoins basiques qu'on a avec du bon JS de grand mère. -- laurent |
|
|
|
#22 |
|
Messages: n/a
Hébergeur: |
Bruno Desthuilliers a écrit :
> A mon idée, il vaut mieux utiliser une bibliothèque déjà bien conçue et > activement maintenue plutôt que de réinventer la roue. Mouais. Déjà, comment on détermine qu'une bibliothèque est bien conçue ? Surtout quand on connait rien à JS ? Ensuite, la diversité c'est mieux ! Heureusement que certains réinventent régulièrement la roue, sinon on n'aurait qu'une seule roue de disponible. Si les autres réinventent la roue, pourquoi pas moi ? Ma roue est peut être moins carrée. -- laurent |
|
|
|
#23 |
|
Messages: n/a
Hébergeur: |
Laurent vilday a écrit :
> Bruno Desthuilliers a écrit : >> A mon idée, il vaut mieux utiliser une bibliothèque déjà bien conçue >> et activement maintenue plutôt que de réinventer la roue. > > Mouais. > > Déjà, comment on détermine qu'une bibliothèque est bien conçue ? Surtout > quand on connait rien à JS ? Bonne question. Peut-être que la tester est une bonne solution ? > Ensuite, la diversité c'est mieux ! Heureusement que certains > réinventent régulièrement la roue, sinon on n'aurait qu'une seule roue > de disponible. Tu notera que j'ai cité 3 bibliothèques différentes couvrant à peu près le même périmètre. la sélection naturelle fera le tri s'il en est besoin... > Si les autres réinventent la roue, pourquoi pas moi ? Ma roue est peut > être moins carrée. Si tu pense pouvoir faire mieux *et* que tu en a le temps, c'est très bien. Une autre option est de contribuer activement à un des projets existants. |
|
|
|
#24 |
|
Messages: n/a
Hébergeur: |
Laurent vilday a écrit : > Bruno Desthuilliers a écrit : >> A mon idée, il vaut mieux utiliser une bibliothèque déjà bien conçue >> et activement maintenue plutôt que de réinventer la roue. > > Mouais. > > Déjà, comment on détermine qu'un |