Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ca bug avec du PHP

Sujet résolu
    18 décembre 2010 à 14:03:13

    Bonjour,

    Alors déjà j'ai fait un code en JS pour plusieurs chose
    1 - Pour insérere du texte dans un textarea via un menu déroulant
    2 - Pour que le "selected" sois toujours afficher sur le menu déroulant...

    Voila mon code de base:
    <form name="form" >
        <select name="sujet" OnChange="modifier();">
         <option id="modifier" OnClick="modif()" value="" selected="selected">Source de l'info</option>
         <option id="modifier" OnClick="modif()" value="le texte a inscrire si on clic sur le choix 1">choix 1</option>
        </select>
        <textarea id="champs1" name="champs1" cols="50" rows="10"></textarea>
       </form>
    
    <script type="text/javascript">
    function modifier()
    {
    with (document.form)
    	{
      		champs1.value = sujet.value;
    	}
    }
    
    function modif()
    {
    	document.getElementById('modifier').selected = 'selected';
    }
    </script>
    


    Celui la marche...

    Mais maintenant avec le modif' en PHP, il ne marche plus...

    <html>
    <head>
    <title>Modification d'une news</title>
    
    <script type="text/javascript">
    function modifier()
    {
    with (document.form)
    	{
      		news.value = id_news.value;
    	}
    }
    
    function selected()
    {
    	document.getElementById('modifier').selected = 'selected';
    }
    </script>
    
    </head>
    
    <body>
    <form name="form" action="modif_news.php" method="post">
    Titre :
    <select name="id_news" OnChange="modifier();">
         <option id="modifier" OnClick="selected()" value="" selected="selected">Modifier une news</option>
    <?php
    include("includes/sql_connect.php");
    
    $requete = "SELECT id AS id_news, titre, texte_news FROM chickn_news";
    $sql = mysql_query($requete) or exit(mysql_error());
    
    while ($donnees = mysql_fetch_assoc($sql))
    	{
    		$texte = mysql_real_escape_string($donnees['texte_news']);
    ?>
    <option id="modifier" OnClick="selected()" value="<?php echo $texte; ?>"><?php echo "" . $donnees['id_news'] . "/ " . htmlentities(trim($donnees['titre'])) . ""; ?></option>
    <?php } ?>
    </select><br />
    <textarea id="news" name="news" cols="50" rows="10"></textarea><br />
    <input type="submit" name="modifier" value="Modifier cette news">
    </form>
    <?php
    if (isset($erreur)) echo '<br /><br />',$erreur;
    ?>
    </body>
    </html>
    


    Voila tous

    Merci d'avance

    ChickN
    • Partager sur Facebook
    • Partager sur Twitter
    CartoonMe
      18 décembre 2010 à 15:29:41

      Je penses que beaucoup de zéros comme moi ont la flemme de lire car tu n'est pas assez explicite.

      Dis nous ce qui ne va pas exactement les erreurs ...
      • Partager sur Facebook
      • Partager sur Twitter
        18 décembre 2010 à 15:49:11

        Mes fonctions JS ne marche plus

        Enfaite quand je clique sur un il ne me met pas son contenu dans le textarea alors qu'avant que je mette du php oui

        et aussi le menu déroulant ne retourne pas au selected tous le temps alors qu'avant que je mette du php si...
        • Partager sur Facebook
        • Partager sur Twitter
        CartoonMe
          18 décembre 2010 à 18:53:48

          Bah tu génère plusieurs options avec le même id... alors quand tu fais un getElementById, il aime pas...
          • Partager sur Facebook
          • Partager sur Twitter
            18 décembre 2010 à 18:54:58

            C'est a dire ...

            Je ne comprend pas tu peut me montrer dans mon code stp??
            • Partager sur Facebook
            • Partager sur Twitter
            CartoonMe
              18 décembre 2010 à 18:59:05

              Regarde ta ligne 37. Elle crée un élément avec un id.
              Or elle est dans une boucle... donc t'as plusieurs éléments avec le même id.

              Et btw, évites d'envoyer des MP. Ça donne vraiment pas envie de t'aider. Si c'était pas aussi bidon, je t'aurais envoyé chier.
              • Partager sur Facebook
              • Partager sur Twitter
                18 décembre 2010 à 19:16:28

                Oui mais apres le truc selected ne marche plus s'il n'y a pas l'id modifier ...
                • Partager sur Facebook
                • Partager sur Twitter
                CartoonMe
                  18 décembre 2010 à 19:18:01

                  Déjà onclick sur les options, c'est con.
                  Faut mettre un onchange sur le select.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    18 décembre 2010 à 19:22:20

                    Mais y a déjà un onChange sur le select...
                    • Partager sur Facebook
                    • Partager sur Twitter
                    CartoonMe
                      18 décembre 2010 à 19:41:26

                      Bah tu les mets l'un à la suite de l'autre...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 décembre 2010 à 19:48:04

                        Je ne comprends pas ...
                        • Partager sur Facebook
                        • Partager sur Twitter
                        CartoonMe
                          18 décembre 2010 à 20:34:38

                          <select onchange="BWAAAAAAAAA( ); GNAAAAAAAAAAAAAAAAAAAN();">
                          
                          • Partager sur Facebook
                          • Partager sur Twitter
                            19 décembre 2010 à 11:47:48

                            Voilà mon news code:

                            Marche toujours pas ...
                            <html>
                            <head>
                            <title>Modification d'une news</title>
                            
                            <script type="text/javascript">
                            function modifier()
                            {
                            with (document.form)
                            	{
                              		news.value = id_news.value;
                            	}
                            }
                            
                            function selected()
                            {
                            	document.getElementById('modifier').selected = 'selected';
                            }
                            </script>
                            
                            </head>
                            
                            <body>
                            <form name="form" action="modif_news.php" method="post">
                            Titre :
                            <select name="id_news" id="modifier" OnChange="modifier(); selected();">
                                 <option value="" selected="selected">Modifier une news</option>
                            <?php
                            include("includes/sql_connect.php");
                            
                            $requete = "SELECT id AS id_news, titre, texte_news FROM chickn_news";
                            $sql = mysql_query($requete) or exit(mysql_error());
                            
                            while ($donnees = mysql_fetch_assoc($sql))
                            	{
                            		$texte = mysql_real_escape_string($donnees['texte_news']);
                            ?>
                            <option value="<?php echo $texte; ?>"><?php echo "" . $donnees['id_news'] . "/ " . htmlentities(trim($donnees['titre'])) . ""; ?></option>
                            <?php } ?>
                            </select><br />
                            <textarea id="news" name="news" cols="50" rows="10"></textarea><br />
                            <input type="submit" name="modifier" value="Modifier cette news">
                            </form>
                            <?php
                            if (isset($erreur)) echo '<br /><br />',$erreur;
                            ?>
                            </body>
                            </html>
                            
                            • Partager sur Facebook
                            • Partager sur Twitter
                            CartoonMe
                              19 décembre 2010 à 12:54:15

                              N'utilise pas de fonctions portant le même nom qu'un id d'élément. Là, t'as la fonction "modifier()", et l'id "modifier", c'est pas bien : tu risques de créer des conflits.

                              Puisque tu as mis l'id sur le select, tu dois modifier ta fonction selected() :
                              document.getElementById('modifier').options[0].selected = true;


                              L'utilisation de "with" est fortement déconseillée. Réécris le code de ta fonction modifier() :
                              document.getElementById('news').value = document.getElementById('modifier').value;
                              



                              Et ne m'envoie pas de MPs pour que je vienne voir tes topics. Je fréquente ce forum quotidiennement. Si je voulais venir lire ce topic et y répondre, je l'aurais déjà fait.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                19 décembre 2010 à 13:44:04

                                <html>
                                <head>
                                <title>Modification d'une news</title>
                                
                                <script type="text/javascript">
                                function modifier()
                                {
                                	document.getElementById('news').value = document.getElementById('modifier').value;
                                }
                                
                                function selected()
                                {
                                	document.getElementById('modifier').options[0].selected = true; 
                                }
                                </script>
                                
                                </head>
                                
                                <body>
                                <form name="modif_news" action="modif_news.php" method="post">
                                Titre :
                                <select id="modifier" OnChange="modifier(); selected();">
                                     <option selected="selected">Modifier une news</option>
                                <?php
                                include("includes/sql_connect.php");
                                
                                $requete = "SELECT id AS id_news, titre, texte_news FROM chickn_news";
                                $sql = mysql_query($requete) or exit(mysql_error());
                                
                                while ($donnees = mysql_fetch_assoc($sql))
                                	{
                                		$texte = mysql_real_escape_string($donnees['texte_news']);
                                ?>
                                <option value="<?php echo $texte; ?>"><?php echo "" . $donnees['id_news'] . "/ " . htmlentities(trim($donnees['titre'])) . ""; ?></option>
                                <?php } ?>
                                </select><br />
                                <textarea id="news" name="news" cols="50" rows="10"></textarea><br />
                                <input type="submit" name="modifier_news" value="Modifier cette news">
                                </form>
                                <?php
                                if (isset($erreur)) echo '<br /><br />',$erreur;
                                ?>
                                </body>
                                </html>
                                

                                Il me fait que la fonction selected() mais pas la fonction modifier()


                                EDIT : C'est bon j'ai changer la fonction modifier() en modif() et cela marche merci beacoup...
                                • Partager sur Facebook
                                • Partager sur Twitter
                                CartoonMe
                                  19 décembre 2010 à 13:54:44

                                  Pense à mettre ton sujet en résolu à l'aide du bouton approprié ;)
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Ca bug avec du PHP

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                  • Editeur
                                  • Markdown