Forum Programmation.web javascript et XHTML

Posté par  .
Étiquettes : aucune
0
5
sept.
2006
Bonjour à tous,

Je m'essaie au javascript dans du XHTML et... ça ne marche pas. Quelqu'un aurait-il un fichier xhtml qui contient un champs de formulaire et un bouton et un .js qui modifie la valeur affichée de ce champs quand on clique sur le bouton ?
  • # voici

    Posté par  (site web personnel) . Évalué à 1.

    <html>
    <head>

    </head>
    <body>

    <script language="javascript" type="text/javascript">

    function mafonction()
    {
    document.getElementById('champ').value='coucou';
    }

    </script>

    <form action="/">
    <input type="text" id="champ" onclick="mafonction();"/>
    <input type="submit"/>
    </form>

    </body>



    le javascript est à mettre dans un .js et tu remplaces la ligne

    <script language="javascript" type="text/javascript">

    par

    <script language="javascript" type="text/javascript" src="script.js"/>

    en effaçant le reste.
    • [^] # Re: voici

      Posté par  . Évalué à 1.

      Ca ne fonctionne pas. Voici les fichiers dont je me sert pour mes tests :


      =====index.xhtml======
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <title>Sommaire en PHP !</title>



      </head>

      <body>
      <script language="javascript" src="script.js"/>
      <div id="sommaire">
      <h3>Sommaire</h3>
      <a href="#" onClick="ShowPage(1)">Page 1</a><br/>
      <a href="#" onClick="ShowPage(2)">Page 2</a><br/>
      <a href="#" onClick="ShowPage(3)">Page 3</a><br/>
      <a href="#" onClick="ShowPage(4)">Page 4</a><br/>
      </div>

      <div id="page">
      </div>
      <form id="formulaire">
      <input id="textfield" type="text" value=""/>
      </form>
      </body>
      </html>


      ======script.js=======
      function ShowPage(page)
      {
      document.forms["formulaire"].elements["textfield"].value="NOUVEAU"
      }
      • [^] # Re: voici

        Posté par  (site web personnel) . Évalué à 1.

        L'attribut "language" n'existe pas en XHTML, quoique ça ne coûte rien de l'intégrer tout de même. Mais selon moi il ne sert à rien. Normalement on précise plutot l'attribut "type".

        Je te conseille de séparer le comportement JS de la structure HTML, tout comme tu sépares la mise en forme CSS de la structure HTML:
        http://pompage.net/pompe/separation/

        En XHTML, "onClick" s'écrit "onclick" (tout en minuscules). Si tu ne fais pas de XHTML 1.1 servi avec le bon content-type, n'auto-ferme pas l'élément "script":
        <script type="text/javascript" src="script.js"></script>
        au lieu de
        <script type="text/javascript" src="script.js" />

        Si tu refuses de séparer comportement et structure, place ton code Javascript dans une section CDATA. Mais la lecture de l'article mentionné plus haut devrait vraiment te venir en aide.
        • [^] # Re: voici

          Posté par  . Évalué à 1.

          Merci beaucoup, ça marche nickel maintenant

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.