« STIC Discussion:STIC II - exercice 14 (Nestor-Pixel) » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 62 : Ligne 62 :


====Re: Re: the entity name must follow the & in the entity reference -- [[Utilisateur:Sylviane|Sylviane]] 22 avril 2008 à 21:47 (CEST)====
====Re: Re: the entity name must follow the & in the entity reference -- [[Utilisateur:Sylviane|Sylviane]] 22 avril 2008 à 21:47 (CEST)====
 
Non ça ne change rien. J'avais d'ailleurs déjà essayé, ainsi que d'autres config (avec ou sans espaces etc). Dans le validateur en ligne, j'ai ceci comme info :
Non ça ne change rien. J'avais d'ailleurs déjà essayé, ainsi que d'autres config (avec ou sans espaces etc). Dans le validateur en ligne, j'ai ceci comme info :


Ligne 95 : Ligne 95 :


bon ben à toute dans une autre discussion stic ^^ cya
bon ben à toute dans une autre discussion stic ^^ cya
===Re: the entity name must follow the & in the entity reference -- [[Utilisateur:Daniel K. Schneider|Daniel K. Schneider]] 23 avril 2008 à 20:01 (CEST)===
Hmm non le problème est tout simple: Le valideur valide XML, et plâtrer du JavaScript dans XML est illégal. Particulièrement les & qui indiquent le début d'une entité. Effectivement on l'a déjà vu, mais en STIC I. XML possède une syntaxe qu'il faut absolument respecter. Donc tout cela n'a aucun rapport avec JavaScript:
Solutions:
* Faire HTML au lieu de XHTML
* Utiliser un autre éditeur qu'un éditeur XML pour valider (enfin cela veut dire mettre le problème sous le tapis)
* Mettre le JavaScript dans un fichier externe (et c'est actuellement la seule bonne solution facile si vous tenez à faire du XHTML transitionnel). '''Donc faites cela''' !
* Enfermer le JS dans une section CDATA (c'est expliqué qq. par dans les transparents) si par hasard la page doit être servie comme XML ou XHTML. Rappel: IE 7 ne comprends pas XHTML en tant qu'XML ... il traduit en HTML. Donc va flipper avec *.xhtml.
<script language="text/javascript">
//<![CDATA[
  alert ("wow JS avec XHTML");
//]]> </script>

Version du 23 avril 2008 à 20:01

Reinitialiser la page ou le formulaire -- Sylviane 21 avril 2008 à 00:08 (CEST)

Je n'arrive pas à trouver comment réinitialiser le questionnaire en cliquant sur un bouton "recommencer". J'ai essayé "windows.location.reload();" ça ne marche pas terrible..

Merci

Sylviane

Re: Reinitialiser la page ou le formulaire -- Davidc 21 avril 2008 à 01:02 (CEST)

Plus simple (enfin si j'ai compris ta question), utilises un bouton Reset :

<input type="reset" />

ps. window.location , ça fait référence à l'adresse de la page. Si tu lances cette commande (ex. window.location = google.ch), tu vas te retrouver sur le site de Google.

Re: Re: Reinitialiser la page ou le formulaire -- Daniel K. Schneider 21 avril 2008 à 14:57 (CEST)

oui juste :) Enfin mettez quand-même une value pour que l'utilisateur puisse voir le bouton:

 <input type="reset" value="recommencer">

Puis pour le DOM c'est plutot

window.location.href

... à utiliser pour fabriquer des menus de navigation simples par exemple (en tout cas pas ici)

Finalement, si depuis le formulaire vous appelez une fonction pour le traiter:

  • si cette fontion retourne false, le formulaire rempli va rester (mieux pour tester)
  • sinon, une nouvelle page va être chargée (la même) et tout sera remis à zéro.

the entity name must follow the & in the entity reference -- Sylviane 22 avril 2008 à 21:21 (CEST)

Merci pour vos explications ci-dessus pour "reset". En fait on l'avait déjà vu dans un autre exercice mais je croyais que c'était beaucoup compliqué. J'aurais dû y penser...

J'ai un autre problème, j'ai écris :

 function monscore ()
 {
 if ((q1 == 1) && (q2 == 6) && (q3 == 7))
 {
 alert ("C'est tout bon, vous pouvez aller à la peche");
 }
 else
 {
 alert ("vous auriez peut-être besoin d'un cours");
 }
 }

Le validateur de Exchanger me dit pour la ligne if ((q1 == 1) && (q2 == 6) && (q3 == 7)) "the entity name must follow the & in the entity reference"

je n'arrive pas à comprendre comment il faut l'écrire pour que ça aille. Ce qui est bizarre, c'est que le validateur de Firefox ne me trouve pas d'erreur.

Re: the entity name must follow the & in the entity reference -- Bertrand Schneider 22 avril 2008 à 21:36 (CEST)

je suis pas un pro en javascript, mais tu n'as pas besoin de mettre de parenthèses dans la condition du if. Essaie avec

  if (q1 == 1 && q2 == 6 && q3 == 7)

ça change quelque chose? --Bertrand Schneider 22 avril 2008 à 21:36 (CEST)Répondre[répondre]

Re: Re: the entity name must follow the & in the entity reference -- Sylviane 22 avril 2008 à 21:47 (CEST)

Non ça ne change rien. J'avais d'ailleurs déjà essayé, ainsi que d'autres config (avec ou sans espaces etc). Dans le validateur en ligne, j'ai ceci comme info :

 if (q1 == 1 && q2 == 6 && q3 == 7)
 ✉
 This message may appear in several cases:
   You tried to include the "<" character in your page: you should escape it as "<"
   You used an unescaped ampersand "&": this may be valid in some contexts,
   but it is recommended to use "&",which is always safe.
   Another possibility is that you forgot to close quotes in a previous tag.

C'est le && qui pose problème.

Re: Re: Re: the entity name must follow the & in the entity reference -- Bertrand Schneider 23 avril 2008 à 12:09 (CEST)

hmmm je sais pas trop alors. C'est peut-être exchanger qui bug, si ça marche dans firefox je pense pas que tu doives t'arrêter là-dessus... au pire demande à mister coll, c'est lui le fana de javascript ;)

--Bertrand Schneider 23 avril 2008 à 12:09 (CEST)Répondre[répondre]

Re: Re: Re: Re: the entity name must follow the & in the entity reference -- Sylviane 23 avril 2008 à 12:24 (CEST)

Oui ça marche dans Firefox (Tidy le valide) mais ce n'est pas validé par le validateur en ligne. Et pour Mister Coll, il a l'air déprimé en ce moment, je ne vais pas lui casser les pieds (faudrait vraiment qu'on ait un forum où on puisse se remonter le moral et rigoler, ça manque. J'ai bien été voir le Moo mais bof..) Bon tant pis de toutes manières faut passer aux autres exercices.. Merci Bertrand

=Re: Re: Re: Re: Re: the entity name must follow the & in the entity reference -- Bertrand Schneider 23 avril 2008 à 13:43 (CEST)=

oui c'est le point qui avait été soulevé pendant la dernière séance de régulation (c'est d'ailleurs david qui en avait parlé)... le fait qu'on manque d'un espace commun pour déconner un peu.

Bah le moo je suis sûr que ça peut être vraiment sympa, mais il aurait fallu qu'on aille tous dessus régulièrement. T'es rebuté par l'aspect console ou bien? :) moi je trouve cool...

bon ben à toute dans une autre discussion stic ^^ cya

Re: the entity name must follow the & in the entity reference -- Daniel K. Schneider 23 avril 2008 à 20:01 (CEST)

Hmm non le problème est tout simple: Le valideur valide XML, et plâtrer du JavaScript dans XML est illégal. Particulièrement les & qui indiquent le début d'une entité. Effectivement on l'a déjà vu, mais en STIC I. XML possède une syntaxe qu'il faut absolument respecter. Donc tout cela n'a aucun rapport avec JavaScript:

Solutions:

  • Faire HTML au lieu de XHTML
  • Utiliser un autre éditeur qu'un éditeur XML pour valider (enfin cela veut dire mettre le problème sous le tapis)
  • Mettre le JavaScript dans un fichier externe (et c'est actuellement la seule bonne solution facile si vous tenez à faire du XHTML transitionnel). Donc faites cela !
  • Enfermer le JS dans une section CDATA (c'est expliqué qq. par dans les transparents) si par hasard la page doit être servie comme XML ou XHTML. Rappel: IE 7 ne comprends pas XHTML en tant qu'XML ... il traduit en HTML. Donc va flipper avec *.xhtml.
<script language="text/javascript">
//<![CDATA[
 alert ("wow JS avec XHTML");
//]]> </script>