Makheureusement, je n'arrive pas à faire fonctionner l'exemple fourni
function loadAll(oneMore){
> if(window.onload){ var oldOnload=window.onload;
> window.onload=function(){ oldOnload(); oneMore(); } } else
> onload=function(){oneMore();} }
> à utiliser après avoir défini maFonction ainsi :
> function maFonction1(){/*la déf.*/} loadAll(maFonction1);
D'apres ce lien, on peut mettre le script en fin de <body>
dans mon fichier php j'ai essaye ceci
<entete html>
<?php
code php
?>
<script type=\"text/javascript\">
<!--
function loadAll(oneMore)
{
alert('toto') ;// juste pour voir s'il y a de la vie
if ( window.onload)
{
var oldOnLoad = window.onload ;
window.onload = function()
{
oldOnLoad() ;
oneMore() ;
}
}
else
{
onload = function()
{
onMore() ;
}
}
}
function foc()
{
alert('toto') ;// juste pour voir s'il y a de la vie
if ( document.form.nomchamp )
document.form.nomchamp.focus() ;
return true ;
}
loadAll(foc) ;
//-->
</script>
</body>
</html>
J'ai du mal à comprendre le fonctionnement de ce script
Je pensais que window.onload ou onload (voir echanges precedents permettait
de lancer une fonction au chargement de la page).
Ici, on teste window.onload . Est ce le resultat d'une fonction, ou le nom
d'une fonction.
J'ai des doutes quant à l'utilisation de la fonction
loadALL(foc) ;
Je peux la placer ou je veux.
Et quand va t elle démarrer ?
Là, il me manque des cles
function maFonction1(){/*la déf.*/} loadAll(maFonction1);
D'apres ce lien, on peut mettre le script en fin de <body> dans mon fichier php j'ai essaye ceci
<entete html> <?php code php ?> <script type="text/javascript"> <!-- function loadAll(oneMore) { alert('toto') ;// juste pour voir s'il y a de la vie if ( window.onload) { var oldOnLoad = window.onload ; window.onload = function() { oldOnLoad() ; oneMore() ; } } else { onload = function() { onMore() ;
Une faute de frappe ici : oneMore();
} } } function foc() { alert('toto') ;// juste pour voir s'il y a de la vie if ( document.form.nomchamp )
Préférer la version plus standard : if ( document.forms["form"].nomchamp )
document.form.nomchamp.focus() ;
idem
return true ; } loadAll(foc) ; //--> </script> </body> </html> J'ai du mal à comprendre le fonctionnement de ce script Je pensais que window.onload ou onload (voir echanges precedents permettait de lancer une fonction au chargement de la page).
onload est une propriété de l'objet window qui est soit undefined soit une fonction.
Ici, on teste window.onload . Est ce le resultat d'une fonction, ou le nom d'une fonction.
On teste si onload est quelque chose.
Dans un test, Javascript convertit en valeur vrai toute valeur différente de : undefined, null, 0, ''. En particulier, si ce qui est testé est un objet (et une fonction en est un), cette conversion renvoie toujours true.
J'ai des doutes quant à l'utilisation de la fonction loadALL(foc) ; Je peux la placer ou je veux.
En théorie oui, en pratique il vaut mieux placer cet appel à la fin de la page, surtout si un onload est déclaré dans la balise body. Cet onload (du body) écraserait une déclaration antérieure (donc dans le head).
Et quand va t elle démarrer ?
Quand elle sera lue lors de l'interprétation de la page par le navigateur qui se fait séquentiellement.
Là, il me manque des cles
Voilà un trousseau ;-) mais s'il en manque, il faudra revenir...
-- Y.D.
[...]
Makheureusement, je n'arrive pas à faire fonctionner l'exemple fourni
function maFonction1(){/*la déf.*/} loadAll(maFonction1);
D'apres ce lien, on peut mettre le script en fin de <body>
dans mon fichier php j'ai essaye ceci
<entete html>
<?php
code php
?>
<script type="text/javascript">
<!--
function loadAll(oneMore)
{
alert('toto') ;// juste pour voir s'il y a de la vie
if ( window.onload)
{
var oldOnLoad = window.onload ;
window.onload = function()
{
oldOnLoad() ;
oneMore() ;
}
}
else
{
onload = function()
{
onMore() ;
Une faute de frappe ici : oneMore();
}
}
}
function foc()
{
alert('toto') ;// juste pour voir s'il y a de la vie
if ( document.form.nomchamp )
Préférer la version plus standard :
if ( document.forms["form"].nomchamp )
document.form.nomchamp.focus() ;
idem
return true ;
}
loadAll(foc) ;
//-->
</script>
</body>
</html>
J'ai du mal à comprendre le fonctionnement de ce script
Je pensais que window.onload ou onload (voir echanges precedents permettait
de lancer une fonction au chargement de la page).
onload est une propriété de l'objet window qui est soit undefined soit une
fonction.
Ici, on teste window.onload . Est ce le resultat d'une fonction, ou le nom
d'une fonction.
On teste si onload est quelque chose.
Dans un test, Javascript convertit en valeur vrai toute valeur différente de :
undefined, null, 0, ''. En particulier, si ce qui est testé est un objet (et
une fonction en est un), cette conversion renvoie toujours true.
J'ai des doutes quant à l'utilisation de la fonction
loadALL(foc) ;
Je peux la placer ou je veux.
En théorie oui, en pratique il vaut mieux placer cet appel à la fin de la page,
surtout si un onload est déclaré dans la balise body. Cet onload (du body)
écraserait une déclaration antérieure (donc dans le head).
Et quand va t elle démarrer ?
Quand elle sera lue lors de l'interprétation de la page par le navigateur qui se
fait séquentiellement.
Là, il me manque des cles
Voilà un trousseau ;-) mais s'il en manque, il faudra revenir...
function maFonction1(){/*la déf.*/} loadAll(maFonction1);
D'apres ce lien, on peut mettre le script en fin de <body> dans mon fichier php j'ai essaye ceci
<entete html> <?php code php ?> <script type="text/javascript"> <!-- function loadAll(oneMore) { alert('toto') ;// juste pour voir s'il y a de la vie if ( window.onload) { var oldOnLoad = window.onload ; window.onload = function() { oldOnLoad() ; oneMore() ; } } else { onload = function() { onMore() ;
Une faute de frappe ici : oneMore();
} } } function foc() { alert('toto') ;// juste pour voir s'il y a de la vie if ( document.form.nomchamp )
Préférer la version plus standard : if ( document.forms["form"].nomchamp )
document.form.nomchamp.focus() ;
idem
return true ; } loadAll(foc) ; //--> </script> </body> </html> J'ai du mal à comprendre le fonctionnement de ce script Je pensais que window.onload ou onload (voir echanges precedents permettait de lancer une fonction au chargement de la page).
onload est une propriété de l'objet window qui est soit undefined soit une fonction.
Ici, on teste window.onload . Est ce le resultat d'une fonction, ou le nom d'une fonction.
On teste si onload est quelque chose.
Dans un test, Javascript convertit en valeur vrai toute valeur différente de : undefined, null, 0, ''. En particulier, si ce qui est testé est un objet (et une fonction en est un), cette conversion renvoie toujours true.
J'ai des doutes quant à l'utilisation de la fonction loadALL(foc) ; Je peux la placer ou je veux.
En théorie oui, en pratique il vaut mieux placer cet appel à la fin de la page, surtout si un onload est déclaré dans la balise body. Cet onload (du body) écraserait une déclaration antérieure (donc dans le head).
Et quand va t elle démarrer ?
Quand elle sera lue lors de l'interprétation de la page par le navigateur qui se fait séquentiellement.
Là, il me manque des cles
Voilà un trousseau ;-) mais s'il en manque, il faudra revenir...
-- Y.D.
J-F Portala
Merci de ton aide.
J'ai enfin compris le fonctionnement de la fonction. En fait, on recrée une fonction onload prenant en compte la fonction éventuellement définie dans body onload et en lui ajoutant d'autres fonctions supplémentaires. Tant que la page n'a pas été interprétée, on peut modifier dynamiquement certaines variables et fonctions.
Les fautes de frappes mises à part, le script ne fonctionnait pas tant que je conservais <script type="text/javascript"> dès que j'ai mis <script language="javascript">, cela a fonctionné.
Dans le post précédent, il était question que cette écriture était obsolete. Est ce que j'ai encore une faute de frappe.
Connaissant cette fonctionnalité, je pense qu'il est plus judicieux de gérer les chargements de page avec une fonction qui va ajouter à la variable window.onload les fonctions au fur et à mesure des besoins.
une fonction du type onLoadFct("nomfonction") écrite en php pour des insertions plus simples en fonction de tests Je me suis amusé à afficher le contenu de window.onload même si j'ajoute 4 ou 5 fonctions, j'ai toujours oldOnLoad(); oneMore() ; dans window.onload Je m'attendais à retrouver les véritables noms de fonctions (cela doit être géré en interne).
J'étais encore embêté par le test sur le champ indéfini. le test sur document.forms["form"].nomchamp fontionne tane que le formulaire "form" existe. Dans certains cas, ce formulaire n'existe pas, et j'ai un message d"erreur. Il me faut donc tester l'exsitence du formulaire if ( document.forms["form"] ) if ( document.forms["form].nomchamp ) document.forms["form].nomchamp.focus() ;
Derniere question d'ordre plus pratique. Est ce que tu utilises des ressources particulières pour ce qui touche au javascript. (site web, bible...) J'avoue que les doc officielles sont particulierement indigestes et peu utilisables (à mon gout)
En tout cas merci beaucoup de ton aide Jeff
Merci de ton aide.
J'ai enfin compris le fonctionnement de la fonction.
En fait, on recrée une fonction onload prenant en compte
la fonction éventuellement définie dans body onload et en lui ajoutant
d'autres fonctions supplémentaires.
Tant que la page n'a pas été interprétée, on peut modifier dynamiquement
certaines variables et fonctions.
Les fautes de frappes mises à part, le script ne fonctionnait pas tant que
je conservais
<script type="text/javascript">
dès que j'ai mis <script language="javascript">, cela a fonctionné.
Dans le post précédent, il était question que cette écriture était obsolete.
Est ce que j'ai encore une faute de frappe.
Connaissant cette fonctionnalité, je pense qu'il est plus judicieux de gérer
les chargements de page
avec une fonction qui va ajouter à la variable window.onload les fonctions
au fur et à mesure des besoins.
une fonction du type onLoadFct("nomfonction") écrite en php pour des
insertions plus simples en fonction de tests
Je me suis amusé à afficher le contenu de window.onload même si j'ajoute 4
ou 5 fonctions,
j'ai toujours
oldOnLoad();
oneMore() ;
dans window.onload
Je m'attendais à retrouver les véritables noms de fonctions (cela doit être
géré en interne).
J'étais encore embêté par le test sur le champ indéfini.
le test sur document.forms["form"].nomchamp fontionne tane que le
formulaire "form" existe.
Dans certains cas, ce formulaire n'existe pas, et j'ai un message d"erreur.
Il me faut donc tester l'exsitence du formulaire
if ( document.forms["form"] )
if ( document.forms["form].nomchamp )
document.forms["form].nomchamp.focus() ;
Derniere question d'ordre plus pratique.
Est ce que tu utilises des ressources particulières pour ce qui touche au
javascript. (site web, bible...)
J'avoue que les doc officielles sont particulierement indigestes et peu
utilisables (à mon gout)
J'ai enfin compris le fonctionnement de la fonction. En fait, on recrée une fonction onload prenant en compte la fonction éventuellement définie dans body onload et en lui ajoutant d'autres fonctions supplémentaires. Tant que la page n'a pas été interprétée, on peut modifier dynamiquement certaines variables et fonctions.
Les fautes de frappes mises à part, le script ne fonctionnait pas tant que je conservais <script type="text/javascript"> dès que j'ai mis <script language="javascript">, cela a fonctionné.
Dans le post précédent, il était question que cette écriture était obsolete. Est ce que j'ai encore une faute de frappe.
Connaissant cette fonctionnalité, je pense qu'il est plus judicieux de gérer les chargements de page avec une fonction qui va ajouter à la variable window.onload les fonctions au fur et à mesure des besoins.
une fonction du type onLoadFct("nomfonction") écrite en php pour des insertions plus simples en fonction de tests Je me suis amusé à afficher le contenu de window.onload même si j'ajoute 4 ou 5 fonctions, j'ai toujours oldOnLoad(); oneMore() ; dans window.onload Je m'attendais à retrouver les véritables noms de fonctions (cela doit être géré en interne).
J'étais encore embêté par le test sur le champ indéfini. le test sur document.forms["form"].nomchamp fontionne tane que le formulaire "form" existe. Dans certains cas, ce formulaire n'existe pas, et j'ai un message d"erreur. Il me faut donc tester l'exsitence du formulaire if ( document.forms["form"] ) if ( document.forms["form].nomchamp ) document.forms["form].nomchamp.focus() ;
Derniere question d'ordre plus pratique. Est ce que tu utilises des ressources particulières pour ce qui touche au javascript. (site web, bible...) J'avoue que les doc officielles sont particulierement indigestes et peu utilisables (à mon gout)
En tout cas merci beaucoup de ton aide Jeff
Laurent Vilday
Les fautes de frappes mises à part, le script ne fonctionnait pas tant que je conservais <script type="text/javascript"> dès que j'ai mis <script language="javascript">, cela a fonctionné.
Il faut : <script type="text/javascript">
avec <script type="text/javascript"> ça ne peut pas marcher (unexpected or duplicate quote mark), c'est comme si tu faisais <script type="un_interpreteur_que_personne_ne_possede"> Tu indiques au navigateur qu'il doit utiliser un type de script qu'il ne connait pas, donc les navigateurs qui prennent en compte le type décide (a raison) de ne pas exécuter le code
<script language="javascript"> cela fonctionne parce que ca reviens à écrire <script> ce qui équivaut pour tous les navigateurs (ou presque) à <script type="text/javascript">
donc la seule et unique syntaxe valide pour indiquer le type de script au tag HTML c'est <script type="text/javascript"> et rien d'autre comme il t'a été indiqué. Tout simplement parce que javascript n'est pas le seul type qu'on puisse utiliser dans un tag script mais si c'est le plus répandu.
-- laurent
Les fautes de frappes mises à part, le script ne fonctionnait pas tant que
je conservais
<script type="text/javascript">
dès que j'ai mis <script language="javascript">, cela a fonctionné.
Il faut : <script type="text/javascript">
avec <script type="text/javascript"> ça ne peut pas marcher
(unexpected or duplicate quote mark), c'est comme si tu faisais
<script type="un_interpreteur_que_personne_ne_possede">
Tu indiques au navigateur qu'il doit utiliser un type de script qu'il ne
connait pas, donc les navigateurs qui prennent en compte le type décide
(a raison) de ne pas exécuter le code
<script language="javascript"> cela fonctionne parce que ca reviens à
écrire <script> ce qui équivaut pour tous les navigateurs (ou presque) à
<script type="text/javascript">
donc la seule et unique syntaxe valide pour indiquer le type de script
au tag HTML c'est <script type="text/javascript"> et rien d'autre comme
il t'a été indiqué. Tout simplement parce que javascript n'est pas le
seul type qu'on puisse utiliser dans un tag script mais si c'est le plus
répandu.
Les fautes de frappes mises à part, le script ne fonctionnait pas tant que je conservais <script type="text/javascript"> dès que j'ai mis <script language="javascript">, cela a fonctionné.
Il faut : <script type="text/javascript">
avec <script type="text/javascript"> ça ne peut pas marcher (unexpected or duplicate quote mark), c'est comme si tu faisais <script type="un_interpreteur_que_personne_ne_possede"> Tu indiques au navigateur qu'il doit utiliser un type de script qu'il ne connait pas, donc les navigateurs qui prennent en compte le type décide (a raison) de ne pas exécuter le code
<script language="javascript"> cela fonctionne parce que ca reviens à écrire <script> ce qui équivaut pour tous les navigateurs (ou presque) à <script type="text/javascript">
donc la seule et unique syntaxe valide pour indiquer le type de script au tag HTML c'est <script type="text/javascript"> et rien d'autre comme il t'a été indiqué. Tout simplement parce que javascript n'est pas le seul type qu'on puisse utiliser dans un tag script mais si c'est le plus répandu.
-- laurent
YD
J'ai enfin compris le fonctionnement de la fonction. En fait, on recrée une fonction onload prenant en compte la fonction éventuellement définie dans body onload et en lui ajoutant d'autres fonctions supplémentaires.
Exactement, à ceci près le onload précédemment défini par script ou dans la balise body.
Tant que la page n'a pas été interprétée, on peut modifier dynamiquement certaines variables et fonctions.
Même après. La seule restriction est que l'objet sur lequel on intervient soit déjà défini au moment du script. Si un script modifie un élément, la page est réinterprétée.
Les fautes de frappes mises à part, le script ne fonctionnait pas tant que je conservais <script type="text/javascript"> dès que j'ai mis <script language="javascript">, cela a fonctionné. Dans le post précédent, il était question que cette écriture était obsolete. Est ce que j'ai encore une faute de frappe.
Laurent a répondu à cela.
[...] Je me suis amusé à afficher le contenu de window.onload même si j'ajoute 4 ou 5 fonctions, j'ai toujours oldOnLoad(); oneMore() ; dans window.onload Je m'attendais à retrouver les véritables noms de fonctions (cela doit être géré en interne).
Les fonctions appelées sont dans le corps des fonctions oldOnLoad et OneMore qui les encapsulent en quelque sorte.
J'étais encore embêté par le test sur le champ indéfini. le test sur document.forms["form"].nomchamp fontionne tane que le formulaire "form" existe. Dans certains cas, ce formulaire n'existe pas, et j'ai un message d"erreur. Il me faut donc tester l'exsitence du formulaire if ( document.forms["form"] ) if ( document.forms["form].nomchamp ) document.forms["form].nomchamp.focus() ;
qu'on peut abréger en : if ( document.forms["form"] && document.forms["form"].nomchamp ) etc. sans provoquer d'erreur, le deuxième argument du AND n'étant interprété que si le premier est vrai.
Derniere question d'ordre plus pratique. Est ce que tu utilises des ressources particulières pour ce qui touche au javascript. (site web, bible...)
Pour javascript "pur" : la norme ECMA 262 3e ed. (fichier PDF à télécharger http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf), et, en aide-mémoire, la documentation Windows Script (format .chm) à télécharger sur MSDN et la documentation Netscape Javascript 1.5, http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference
Pour le DOM, le document DOM2 HTML du W3C téléchargeable depuis http://www.w3.org/TR/ et bien sûr la doc sur Mozilla/Firefox et Internet Explorer...
Il faut ajouter la lecture des NG et beaucoup de tests quand besoin est.
J'avoue que les doc officielles sont particulierement indigestes et peu utilisables (à mon gout)
Les premiers contacts, oui :-( Après, on apprend à savoir où trouver l'info sans avoir à lire des pages et des pages.
-- Y.D.
J'ai enfin compris le fonctionnement de la fonction.
En fait, on recrée une fonction onload prenant en compte
la fonction éventuellement définie dans body onload et en lui ajoutant
d'autres fonctions supplémentaires.
Exactement, à ceci près le onload précédemment défini par script ou dans
la balise body.
Tant que la page n'a pas été interprétée, on peut modifier dynamiquement
certaines variables et fonctions.
Même après. La seule restriction est que l'objet sur lequel on intervient
soit déjà défini au moment du script. Si un script modifie un élément, la
page est réinterprétée.
Les fautes de frappes mises à part, le script ne fonctionnait pas tant que
je conservais
<script type="text/javascript">
dès que j'ai mis <script language="javascript">, cela a fonctionné.
Dans le post précédent, il était question que cette écriture était obsolete.
Est ce que j'ai encore une faute de frappe.
Laurent a répondu à cela.
[...]
Je me suis amusé à afficher le contenu de window.onload même si j'ajoute 4
ou 5 fonctions,
j'ai toujours
oldOnLoad();
oneMore() ;
dans window.onload
Je m'attendais à retrouver les véritables noms de fonctions (cela doit être
géré en interne).
Les fonctions appelées sont dans le corps des fonctions oldOnLoad et OneMore
qui les encapsulent en quelque sorte.
J'étais encore embêté par le test sur le champ indéfini.
le test sur document.forms["form"].nomchamp fontionne tane que le
formulaire "form" existe.
Dans certains cas, ce formulaire n'existe pas, et j'ai un message d"erreur.
Il me faut donc tester l'exsitence du formulaire
if ( document.forms["form"] )
if ( document.forms["form].nomchamp )
document.forms["form].nomchamp.focus() ;
qu'on peut abréger en :
if ( document.forms["form"] && document.forms["form"].nomchamp ) etc.
sans provoquer d'erreur, le deuxième argument du AND n'étant interprété
que si le premier est vrai.
Derniere question d'ordre plus pratique.
Est ce que tu utilises des ressources particulières pour ce qui touche au
javascript. (site web, bible...)
Pour javascript "pur" : la norme ECMA 262 3e ed. (fichier PDF à télécharger
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf),
et, en aide-mémoire, la documentation Windows Script (format .chm) à
télécharger sur MSDN et la documentation Netscape Javascript 1.5,
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference
Pour le DOM, le document DOM2 HTML du W3C téléchargeable depuis
http://www.w3.org/TR/ et bien sûr la doc sur Mozilla/Firefox et Internet
Explorer...
Il faut ajouter la lecture des NG et beaucoup de tests quand besoin est.
J'avoue que les doc officielles sont particulierement indigestes et peu
utilisables (à mon gout)
Les premiers contacts, oui :-( Après, on apprend à savoir où trouver l'info
sans avoir à lire des pages et des pages.
J'ai enfin compris le fonctionnement de la fonction. En fait, on recrée une fonction onload prenant en compte la fonction éventuellement définie dans body onload et en lui ajoutant d'autres fonctions supplémentaires.
Exactement, à ceci près le onload précédemment défini par script ou dans la balise body.
Tant que la page n'a pas été interprétée, on peut modifier dynamiquement certaines variables et fonctions.
Même après. La seule restriction est que l'objet sur lequel on intervient soit déjà défini au moment du script. Si un script modifie un élément, la page est réinterprétée.
Les fautes de frappes mises à part, le script ne fonctionnait pas tant que je conservais <script type="text/javascript"> dès que j'ai mis <script language="javascript">, cela a fonctionné. Dans le post précédent, il était question que cette écriture était obsolete. Est ce que j'ai encore une faute de frappe.
Laurent a répondu à cela.
[...] Je me suis amusé à afficher le contenu de window.onload même si j'ajoute 4 ou 5 fonctions, j'ai toujours oldOnLoad(); oneMore() ; dans window.onload Je m'attendais à retrouver les véritables noms de fonctions (cela doit être géré en interne).
Les fonctions appelées sont dans le corps des fonctions oldOnLoad et OneMore qui les encapsulent en quelque sorte.
J'étais encore embêté par le test sur le champ indéfini. le test sur document.forms["form"].nomchamp fontionne tane que le formulaire "form" existe. Dans certains cas, ce formulaire n'existe pas, et j'ai un message d"erreur. Il me faut donc tester l'exsitence du formulaire if ( document.forms["form"] ) if ( document.forms["form].nomchamp ) document.forms["form].nomchamp.focus() ;
qu'on peut abréger en : if ( document.forms["form"] && document.forms["form"].nomchamp ) etc. sans provoquer d'erreur, le deuxième argument du AND n'étant interprété que si le premier est vrai.
Derniere question d'ordre plus pratique. Est ce que tu utilises des ressources particulières pour ce qui touche au javascript. (site web, bible...)
Pour javascript "pur" : la norme ECMA 262 3e ed. (fichier PDF à télécharger http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf), et, en aide-mémoire, la documentation Windows Script (format .chm) à télécharger sur MSDN et la documentation Netscape Javascript 1.5, http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference
Pour le DOM, le document DOM2 HTML du W3C téléchargeable depuis http://www.w3.org/TR/ et bien sûr la doc sur Mozilla/Firefox et Internet Explorer...
Il faut ajouter la lecture des NG et beaucoup de tests quand besoin est.
J'avoue que les doc officielles sont particulierement indigestes et peu utilisables (à mon gout)
Les premiers contacts, oui :-( Après, on apprend à savoir où trouver l'info sans avoir à lire des pages et des pages.