Problème lors de modification d'un div

zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 21 oct. 2007 à 15:29
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 24 oct. 2007 à 06:56
Bonjour,

J'ai un problème avec un de mes codes javascript. Le problème c'est que je doit modifier le contenu d'un div, mais dans ce div je dois mettre un formulaire, Alors le code suivant passe sous firefox, mais sous IE, il n'aime pas trop, c'est peut-être un problème de " ou de ', mais je vois pas trop comment résoudre ce prob tout seul...

Content = "
<form name='renommer' action='admin.php' method='POST'>&nbsp;file+"'>file_sans_ext+"'>&nbsp;&nbsp;&nbsp;</form>&nbsp;
&nbsp;";

document.getElementById(ID).innerHTML = Content;

Merci de votre aide,
FF

4 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 oct. 2007 à 08:38
Bonjour,

ça marche parfaitement....

<script>
var file="exemple.toto";
var file_sans_ext="exemple";
var Content =     "
<form name='renommer' action='admin.php' method='POST'>&nbsp;"+
                "&nbsp;&nbsp;&nbsp;</form>&nbsp;
&nbsp;";
var ID="toto";
document.getElementById(ID).innerHTML = Content;
</script>

si on ajoute ce que tu ne nous donnes pas,
donc ça doit venir de là

et ça aide :


o--------o----------------------------------------------------------o
|FireFox |regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
| | |
| | et mieux, télécharger FireBug |
|--------|----------------------------------------------------------|
|Internet|activer le deboggage : Outils/options Internet/Avancés |
|Explorer| dans la liste, sous "Navigation" : décocher |
| | ° Afficher une notification de chaque erreur de script |
| | ° Désactiver le débogage de Scripts (autres applications)|
| | ° Désactiver le débogage de Scripts (Internet Explorer) |
| | |
| | et mieux, télécharger le Debogger IE |
|--------|----------------------------------------------------------|
|K-Meleon|regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
|--------|----------------------------------------------------------|
|Opera |regarder la "console d'erreurs" |
| | utils / Asole d'erreurs |
|--------|----------------------------------------------------------|
|Safari |modif Fichier "Support:\Documents and Settings\utilisateur|
| |\Application Data\Apple Computer\Safari\Preferences.plist"|
| | y ajouter <key>IncludeDebugMenu</key> |
| | <true/> |
| | |
| |regarder Debug / Show JavaScript Console |
o--------o----------------------------------------------------------o







<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
<hr />
0
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
22 oct. 2007 à 21:14
Salut,
C'est vraiment bizarre, en effet ça marche, meme en mettant dans une fonction comme dans mon cas ça passe, mais dans mon fichier entier, ça ne marche pas, regarde ceci, j'ai fait afficher la source après exécution de tout le php comme ça on voit mieux, copie-colle dans un éditeur pour avoir les couleurs et regarde si t'enlèves des commentaires la ligne 28, ça passe sous IE, mais c'est pas ce que je veux...
Code:

<html>
<head>
<title>Liste et renom des photos</title>
<link rel= "stylesheet" type="text/css" href="style.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<table width="0" border="0" cellspacing="0" cellpadding="0" align="center">
  ----

   ,
<table width=\"690\" height=\"31\" border=\"0\" align=\"center\" cellspacing=\"3\">
  ----

    envoi des photos -- liste et renom des photos -- tri des photos,
    Espace utilisé :
 61% (12.2Mo/20Mo)<table width="100" height="15" border="1" cellspacing="0" bordercolor="#FF0000">
----, </td>
</td>
  </tr>
</table>
<script language="javascript">
   var ns4 = document.layers;           //NS 4
   var ie4 = document.all;              //IE 4
   var dom = document.getElementById;   //NS 6 ou IE 5

   function setDiv(ID, Num_content, file, file_sans_ext) {
         if (Num_content == 1) {
      Content = "
<form name='renommer' action='admin.php' method='POST'>&nbsp;&nbsp;&nbsp;&nbsp;</form>&nbsp;
&nbsp;";      }
         //Content = "SALUT"; //Marche dans ce cas-là
      if (Num_content == 2) {
      Content = "&nbsp;-- Renommer --&nbsp;";
      }
  
      if (dom) {
         document.getElementById(ID).innerHTML = Content;
         return;
      }
      else if (ie4) {
          document.all[ID].innerHTML = Content;
         return;
      }
      else if (ns4) {
          with (eval('document.'+ID+'.document')) {
             open();
             write(Content);
             close();
         }
         return;
      }
   }

function setAllDiv(id,file,file_sans_ext) {
setDiv("id_0","2","Biquette.JPG","Biquette");
setDiv("id_1","2","Broadway.jpg","Broadway");
setDiv("id_2","2","Broadway3.jpg","Broadway3");
setDiv(id, "1", file, file_sans_ext);
}

/* miniature */
function miniature(image,largeur,hauteur){
document.getElementById("image").src = image;
document.getElementById("image").style.width = largeur;
document.getElementById("image").style.height = hauteur;
}
/* fin miniature */
</script>

Vos photos:

<form name ="to_delete" method="POST" action=""><table cellspacing="0" cellpadding="2" border="1">
----, </td>
&nbsp;Biquette&nbsp;
,
&nbsp;-- Renommer --&nbsp;,

----

,
&nbsp;Broadway&nbsp;
,
&nbsp;-- Renommer --&nbsp;,

----

,
&nbsp;Broadway3&nbsp;
,
&nbsp;-- Renommer --&nbsp;,

----

Supprimer les photos séléctionnées">
</form></td>
<td>

</td>
</td>
</tr></table>
</td>
  </tr>
</table>

</html>
</td>
</tr>
</tbody>
</table>
0
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
22 oct. 2007 à 21:34
YEAH j'ai bien avancé, j'ai fait pleins de tests, et j'ai remarqué qu'en fait internet explorer ne veut pas modifier un div en y mettant un formulaire, dès qu'il y a une balise <form> il aime pas, ne demandez pas pk, IE est vraiment con comparé à Firefox mais bon c'est pas le sujet, alors je vais essayer de mettre les balises form hors du div et ça devrait passer, mais bon ça reste moins propre...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 oct. 2007 à 06:56
  je ne saurais pas te dire qui est le plus con de IE ou de FF,
  ce que je peux faire, c'est te signaler que tu tentes d'exécuter
    ( en simplifiant ) :
   
  <form action="javascript:alert('f1');">
    ... des champs...
    <form action="javascript:alert('f2');">
      ... des champs...
     
    </form>
   
 </form>


  ce qui me semble, pour le moins, pas très orthodoxe,
    ou pas très catholique comme tu veux, voire
    non autorisé.  me trompe-je ?
   
  alors, certes, on peut reprocher à IE, d'afficher n'importe quoi
    sur le signalement de TON erreur, ce qui n'aide pas à la
    compréhension, mais, et si avant de porter un jugement aussi
    définitf, ausssi lapidaire, aussi puéril, sur les outils que
    tu utilises, tu écrivais des choses licites, valides ?
    ça permettrait de continuer cette conversation de manière
    courtoise et sans animosité.
   





<hr />
                Cordialement            Bul         [mon Site]     [M'écrire]
<hr />
0
Rejoignez-nous