Page 2 sur 2

Publié : 06 janv. 2005, 10:09
par veevee
Bonjour,

je tire deux conclusions de ce que dit Benoit :

window.write ne s'utilise que dans le corps de la page HTML (donc dans un script appelé "au milieu" d'une page HTML)


Concernant BREAK
Pour sortir de TOUTE la fonction il faut changer la valeur de la variable qui "drive" la boucle
Mais si plusieurs boucles + conditions sont imbriquées, ça ne simplifie pas les choses

Y a-t-il une raison autre que la coutume pour ne pas utiliser BREAK

Dans mon cas je teste la validité d'une adresse email
Je teste la présence du @ si pas là, on sort de la fonction
Je teste la présence du . après le nom de domaine, et on sort si...
Je teste le suffixe ; si un caractère ou + de 3
caractères, on sort...

Je trouvais que BREAK était bien adapté à ce genre de situation

Et puis je ne veux pas conseiller des niaiseries aux neuneux qui liront (peut-être) mes élucubrations


Merci

Publié : 06 janv. 2005, 10:16
par Benoit
Oui l'absence d'un @ dans une adresse e-mail est bien un cas "inattendu" où un break peut se justifier (par exemple si ta boucle vérifie une dizaine d'adresses e-mail).

Mais dans le cas d'une seule adresse, il n'est pas nécessaire de faire une boucle, c'est plutôt de ta fonction de vérification que tu veux sortir, donc c'est plutôt return que tu vas utiliser (a priori même return false si c'est un contrôle de champ de formulaire).

Publié : 07 janv. 2005, 08:42
par veevee
Bonjour,

Je crois avoir trouvé MON explication au comportement "erratique" de document.write()

J'a mis en place deux manières d'appeler cette instruction :
http://mistervideo.free.fr/tester_write.html
et
http://mistervideo.free.fr/tester_write2.html

les résultats sont TRES différents

J'en conclue que la "BONNE" manière d'appeler ce genre de script est de l'appeler dans le cours de la page HTML.
L'appeler à partir d'un bouton cliqué, bien que non-contraire à la sémantique, ne provoque pas des résultats prévisibles

Votre avis m'importe

Publié : 09 janv. 2005, 19:50
par veevee
Bonsoir,

nouvelle surprise :
un script avec la "fameuse" commande :
<SCRIPT LANGUAGE="JavaScript">
function fonction(){
document.write("<DIV ALIGN='center'><FONT SIZE=5><B>ceci est écrit par le script JS</B></FONT></DIV>")
}
</SCRIPT>

Si on appelle la fonction par un onClick, FF "se plante" (anomalie décrite plus haut dans le fil)

mais si on l'appelle par
<SCRIPT>fonction()</SCRIPT>

FF effectue la tâche, puis s'arrête normalement

Curieux, non ?

Publié : 10 janv. 2005, 06:11
par Mirovinben
:shock: Pas curieux... normal surtout après tout ce qui a été dit :wink: :

-1- onclick est un événement qui est traité APRES que toute la page aie été chargée... donc après la balise </body>, donc création d'un nouveau document qui merde...

-2- le javascript dans le corps de la page est exécuté au moment où il est appelé, donc avant que le navigateur aie fini d'interpréter et d'afficher les instructions da la page...

Publié : 22 janv. 2005, 04:05
par poof65
Pour en revenir au sujet du début il faudrait tester ça avec FF.

Code : Tout sélectionner

document.open();
document.write('Coucou');
document.close();
qui est la syntaxe correcte pour ecrire une nouvelle page (pareil pour les popup générées entièrement par javascript.[/quote]

Publié : 22 janv. 2005, 10:41
par Benoit
Autant utiliser le DOM à ce moment-là non ? Enfin sauf si c'est pour écrire juste "coucou" mais on dépasse rapidement ce stade en général :)

Publié : 22 janv. 2005, 13:47
par poof65
Enfin bon c'est qu'un exemple très basique.
COmment tu ferais pour changer complètement le body d'une page avec le DOM ?

Publié : 22 janv. 2005, 17:13
par Benoit
En y ajoutant et en y enlevant des éléments, voir la page précédente du sujet.