Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Javascript] La fonction document.write

Besoin d'aide, je n'ai pas bien compris ...

Sujet résolu
6 juillet 2008 à 11:54:02

Bonjour,

je viens de commencer à apprendre le javascript mais j'ai une question qui me chiffone un peu ( si vous me passer l'expression :p ). Mon problème viens de la fonction document.write qui - d'après le cours ici - est censée effacer la page et écrire par dessus ... Or si je test ce code, les deux textes sont affichés :
<html>
 <head>
  <title>Mon premier script !</title>
 </head>
 <body>
<p>Mon texte en (x)html et 
  <script type="text/javascript">
  <!--
  
  document.write('<p> en Javascript</p>');
  
  //-->
  </script>
</p>
 </body>
</html>


Je pense que le probleme viens de mon interpretation de cette phrase .... Si quelqu'un pouvais m'expliqer ...

Merci !
Alwin
  • Partager sur Facebook
  • Partager sur Twitter
6 juillet 2008 à 11:58:08

Faux.
document.write n'a pas pour but d'éffacer le texte et en écrire un autre, il a juste pour but d'écrire du texte ;)
  • Partager sur Facebook
  • Partager sur Twitter
6 juillet 2008 à 12:23:56

Si tu appelles document.write directement dans la page (comme tu le fais), le texte est écrit sans effacer le reste.
En revanche, si tu l'appelles une fois la page chargée (à l'aide d'une fonction, d'un setTimeout, etc.), ça effacera tout.
  • Partager sur Facebook
  • Partager sur Twitter
6 juillet 2008 à 12:47:41

Ok merci !
Apparement, le tuto que j'ai choisit ne démarre pas très bien :(
<citation nom="Le tuto">Débutons par le document.write. C'est une fonction qui permet d'effacer ce qu'il y a à l'écran, puis d'écrire ce qu'il y a entre les parenthèses. 'document.write' signifie en français 'écrire.document'. Traduisez par écrire. En résumé, document.write efface tout ce qu'il y avait écrit dans la page, puis écrit ce qu'il y a entre parenthèses.</citation>

Merci à vous deux pour la précision ;)
Amicalement,
Alwin
  • Partager sur Facebook
  • Partager sur Twitter
6 juillet 2008 à 14:46:39

Bonjour,

En effet, tel que c'est utilisé, l'explicationn est erronée.

Mais en utilisant réellement une fonction, le résultat est bien là.

Teste ça

<html>
 <head>
  <title>Mon premier script !</title>
  <script type="text/javascript">
  <!--
  function ecrit()
  {
  document.write('<p>Nouveau contenu<\/p>');
  }
  //-->
  </script>

 </head>
 <body>
    <p>Mon texte en (x)html et </p>

  <script type="text/javascript">
  <!--
  document.write('<p> en Javascript<\/p>');
  //-->
  </script>  

  <p><a href="javascript:void();" onclick="ecrit();">Écrire</a></p>

 </body>
</html>


C'est ta page dans laquelle j'ai ajouté une fonction qui utilise document.write()

<script type="text/javascript">
  <!--
  function ecrit()
  {
  document.write('<p>Nouveau contenu<\/p>');
  }
  //-->
  </script>


Que se passe-t-il ?

La page se charge et le document.write() que tu y a inséré s'exécute. Au chargement de la page.
Une fois tout le code, HTML et Javascript, exécuté, la chargement est complet.

Ensuite, si on clique sur le lien, la fonction ecrit() est lancée et un nouveau document.write() s'exécute.
Cette méthode fait que le contenu du document est entièrement réécrit, qu'il est remplacé par le nouveau texte que la fonction ecrit() insère.


Vois ces explications.


  • Partager sur Facebook
  • Partager sur Twitter
6 juillet 2008 à 15:05:31

Je n'ai qu'un mot à dire : Wouah !
C'était claire, maintenant, c'est lumineux ^^.

As tu prévu de faire un tuto sur le javascript ? :p

Merci beaucoup,
Sur ce, je vais continuer l'apprentissage,
Alwin
  • Partager sur Facebook
  • Partager sur Twitter
6 juillet 2008 à 15:46:56

Je pense qu'il y a d'autres choses plus importantes à apprendre en Javascript que document.write. Et puis les scripts en ligne comme te l'a montré Yano, c'est assez moche.
  • Partager sur Facebook
  • Partager sur Twitter
6 juillet 2008 à 15:49:01

Sans doute mais je suppose qu'il faut bien commencer par quelque chose non ?
  • Partager sur Facebook
  • Partager sur Twitter
6 juillet 2008 à 16:29:21

Citation : KorangaR

Je pense qu'il y a d'autres choses plus importantes à apprendre en Javascript que document.write. Et puis les scripts en ligne comme te l'a montré Yano, c'est assez moche.


Très constructif.

En plus, on s'en fout.


  • Partager sur Facebook
  • Partager sur Twitter
6 juillet 2008 à 17:09:59

Citation : Yano

Citation : KorangaR

Je pense qu'il y a d'autres choses plus importantes à apprendre en Javascript que document.write. Et puis les scripts en ligne comme te l'a montré Yano, c'est assez moche.


Très constructif.

En plus, on s'en fout.




Tu t'en fous.
  • Partager sur Facebook
  • Partager sur Twitter
12 janvier 2021 à 10:41:38 - Message modéré pour le motif suivant : Message complètement hors sujet


12 janvier 2021 à 12:57:48

@HugoBessard1 Bonjour, merci de ne pas déterrer d'ancien sujet résolu.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter