modifier du contenu à l'aide d'onglet

Mammouth du PHP | 536 Messages

24 sept. 2007, 09:07

Bonjour tout le monde,

je voudrais permettre à un utilisateur de modifier du contenu en anglais et en français (pour un même texte : 2 langues).
J'ai alors hoisi de travailler avec des onglets et d'afficher d'un coté le texte en anglais et de l'autre le texte en français.
Seulement voilà, le problème est que du texte en anglais apparait dans l'onglet français.ne vois pas où est mon erreur.

Pouvez-vous m'adier ?

voici mon code :
<form enctype="multipart/form-data" name="form" id="form" action="#" method="post">

      <ul class="tabs">
          <li><a id="modif-lang1" href="#lang1">Français</a></li>
          <li><a id="modif-lang2" href="#lang2">Anglais</a></li>
      </ul>
<?
      $traitement = $xpTraitement->query('//traitement[@id="'.$_GET['traitement'].'"]');
      $idTraitement = $traitement->item(0)->getAttribute('id');
      $nameTraitement = $traitement->item(0)->getAttribute('name');
      $labelTraitement = $traitement->item(0)->getAttribute('label');
      $paragrapheFr = $xpTraitement->query('//traitement[@id="'.$idTraitement.'"]/lang[@id="fr"]/paragraphe');
      $paragrapheEn = $xpTraitement->query('//traitement[@id="'.$idTraitement.'"]/lang[@id="en"]/paragraphe');
          
          for ($j=0; $j<$paragrapheFr->length; $j++) {
              $idParagraphe = $paragrapheFr->item($j)->getAttribute('id');
              $titreTraitementFr = $xpTraitement->query('//traitement[@id="'.$idTraitement.'"]/lang[@id="fr"]/paragraphe[@id="'.$idParagraphe.'"]/title')->item(0)->nodeValue;
              $descriptionTraitementFr = $xpTraitement->query('//traitement[@id="'.$idTraitement.'"]/lang[@id="fr"]/paragraphe[@id="'.$idParagraphe.'"]/description')->item(0)->nodeValue;
              $file = $xpTraitement->query('traitement[@id="'.$idTraitement.'"]/lang[@id="fr"]/paragraphe[@id="'.$idParagraphe.'"]/file[@id]');
              if ($file->length > 0 ) {
                $srcFile = $file->item(0)->getAttribute('img');
              }
              else $srcFile = '';     

?>      
      <fieldset id="lang1">
        <legend>Français</legend>
        <label>Titre : </label><input type="text" name="titre_fr" id="titre_fr" value="<? echo $titreTraitementFr; ?>" /><br /><br />
        <label>Description : </label><br /><textarea name="paragraphe_fr" id="paragraphe_fr" rows="7" cols="100"><? echo $descriptionTraitementFr; ?></textarea>
      </fieldset>
      
          <? }
            for ($j=0; $j<$paragrapheEn->length; $j++) {
              $idParagraphe = $paragrapheEn->item($j)->getAttribute('id');
              $titreTraitementEn = $xpTraitement->query('//traitement[@id="'.$idTraitement.'"]/lang[@id="en"]/paragraphe[@id="'.$idParagraphe.'"]/title')->item(0)->nodeValue;
              $descriptionTraitementEn = $xpTraitement->query('//traitement[@id="'.$idTraitement.'"]/lang[@id="en"]/paragraphe[@id="'.$idParagraphe.'"]/description')->item(0)->nodeValue;
              $file = $xpTraitement->query('traitement[@id="'.$idTraitement.'"]/lang[@id="en"]/paragraphe[@id="'.$idParagraphe.'"]/file[@id]');
              if ($file->length > 0 ) {
                $srcFile = $file->item(0)->getAttribute('img');
              }
              else $srcFile = '';     

?>      
      <fieldset id="lang2">
        <legend>Anglais</legend>
        <label>Titre : </label><input type="text" name="titre_en" id="titre_en" value="<? echo $titreTraitementEn; ?>" /><br /><br />
        <label>Description : </label><textarea name="paragraphe_en" id="paragraphe_en" rows="7" cols="100"><? echo $descriptionTraitementEn; ?></textarea>
      </fieldset>
      
          <? } ?>

    <div class="btns">
          <button type="button" onclick="history.back();" class="submit">Retour</button>
          <button type="submit" class="submit">Enregistrer</button>
    </div>

</form>
La solution serait peut être de vérifier l'existence des liens #lang1 et #lang2 ...

EDIT :
En fait, mes champs fieldset étaient mal placés dans la boucle et du coup, mon code javascript ne faisait pas ce que je voulais.
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

24 sept. 2007, 11:35

EDIT :
En fait, mes champs fieldset étaient mal placés dans la boucle et du coup, mon code javascript ne faisait pas ce que je voulais.
Et donc auto-résolu ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 536 Messages

24 sept. 2007, 13:13

oui auto-résolu. Je mets le "résolu" de suite..
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!