Lien d'une liste deroulante

Résolu
ophoto Messages postés 69 Statut Membre -  
Tiller Messages postés 783 Statut Membre -
Bonjour,

je viens de creer une liste de choix avec des liens et je voudrais que les liens ouvrent des pages dans un cadre (ifram) nommé I1 comment dois je faire car là ca ne fonctionne pas ?

dans <head> et </head>

<SCRIPT>
<!--
function Lien() { 
i = document.Choix.Liste.selectedIndex; 
if (i == 0) return; 
url = document.Choix.Liste.options[i].value;
parent.location.href = url; 
} 
// -->
</SCRIPT>


dans <body> et </body>

<form name="Choix">
   <select size="1" name="Liste" onChange="Lien()">
      <option selected>Rubrique</option>
      <option value="http://www.mon.lien" target="I1">rubrique1</option>
      <option value="http://www.mon.lien" target="I1">rubrique2</option>
      <option value="http://www.mon.lien" target="I1">rubrique3</option>
   </select>
</form>


MERCI d'avance
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. Tiller Messages postés 783 Statut Membre 211
     
    <SCRIPT>
    function Lien(obj) 
    { 
        i = obj.selectedIndex; 
        if (i == 0)
            return false;
        
        url = obj.options[i].value;
        document.getElementById('I1').src = url; 
    }
    </SCRIPT>
    
    <form name="Choix">
       <select size="1" name="Liste" onChange="Lien(this)">
          <option selected>Rubrique</option>
          <option value="http://www.mon.lien">rubrique1</option>
          <option value="http://www.mon.lien">rubrique2</option>
          <option value="http://www.mon.lien">rubrique3</option>
       </select>
    </form>
    
    <iframe id="I1"></iframe>
    1
    1. bemsco
       
      SLt tiller

      moi j'ai le meme probleme mais la difference est que mes listes deroulantes sont obtenu a partir d'une base de données et je ne sais pas comment relier la selection a l'ouverture de ma page

      fonction:

      function Lien(obj)
      {
      i = obj.selectedIndex;
      if (i == 0)
      return false;

      url = obj.options[i].value;
      document.getElementById('I1').src = url;
      }

      code php de la liste deroulante:

      <?php

      header('Content-type: text') ; // on déclare ce qui va être afficher
      // test des POST emis
      if(isset($_POST['id']))
      {
      include ("oSelectSql.php"); // selection a la base de donnée

      // declaration de la requete de remplissage des données

      $rq="SELECT id_carte,lib_carte,Link FROM carte where carte.id_theme = ".$_POST['id'];

      $result= mysql_query ($rq) or die(mysql_error()."\n".$rq);
      $sdt = mysql_fetch_array($result);


      $i=0;
      if (mysql_num_rows($result)>0)
      {
      echo "<select size='1' name='carte' width='100%' class='liste_themes' option
      OnClick=\"document.getElementById('energize').value=0,document.getElementById('tarifze').value=0,document.getElementById('secteurze').value=0\"
      onBlur=\"document.getElementById('compteur').responseText = '';\"
      OnChange=\'lien(this)';\"
      OnKeyUp=\"iLanceLoZaFair('id='+this.value,'mIlireLoZaffair3.php', 'POST','contenu2');\">";

      // remplissage de la liste deroulante

      echo "<option value='-1'>Choisir</option>";
      }
      else
      {
      echo utf8_encode("Pas de sous catégories disponible");
      }
      while ($dt=mysql_fetch_row($result))
      {
      echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[1])."</option><br>";
      }
      echo "</select>";


      }

      ?>

      si possible dite moi ce qui ne va pas dans mon code car je n'arrive pas a relier ma fonction a mon code
      merci d'avance
      0
  2. Tiller Messages postés 783 Statut Membre 211
     
    <?php
    
    if(isset($_POST['id']))
    {
    	include ('oSelectSql.php');
    	
    	$rq = 'SELECT `id_carte`, `lib_carte`, `Link` FROM `carte` WHERE carte.id_theme = '.$_POST['id'];
    	$result = mysql_query($rq) or die(mysql_error());
    	$sdt = mysql_fetch_array($result);
    	
    	$i = 0;
    	if (mysql_num_rows($result) > 0)
    	{
    		echo '<select size="1" name="carte" width="100%" class="liste_themes" onclick="document.getElementById(\'energize\').value = 0, document.getElementById(\'tarifz­e\').value = 0, document.getElementById(\'secteurze\').value = 0" onblur="document.getElementById(\'compteur\').responseText = ""' onchange="lien(this)" onkeyup="iLanceLoZaFair(\'id=\' + this.value,\'mIlireLoZaffair3.php\', \'POST\', \'contenu2\')">';
    		echo '<option value="-1">Choisir</option>';
    		while ($dt = mysql_fetch_row($result))
    		{
    			echo '<option value="'.utf8_encode($dt[0]).'">'.utf8_encode($dt[1]).'</option>';
    		}
    		echo '</select>';
    	}
    	else
    	{
    		echo utf8_encode("Pas de sous catégories disponible");
    	}
    }
    
    ?> 
    1
    1. bemsco
       
      slt tiller j'ai vu que tu as remis mon code cela signifie peut etre que tu as besoin d'eclaircissement je reste a ta disposition pour d'eventuel question merci
      0
      1. bemsco Messages postés 1 Date d'inscription   Statut Membre > bemsco
         
        bonjour au fait j'ai toujours besoin d'aide donc si quelqu'un a la solution a mon probleme je suis entierement en attente merci
        0
  3. Tiller Messages postés 783 Statut Membre 211
     
    J'ai pas remis ton code, regarde mieu.

    <SCRIPT>
    function Lien(obj) 
    { 
        i = obj.selectedIndex; 
        if (i == 0)
            return false;
        
        url = obj.options[i].value;
        document.getElementById('I1').src = url; 
    }
    </SCRIPT>
    
    <?php
    
    if(isset($_POST['id']))
    {
    	include ('oSelectSql.php');
    	
    	$rq = 'SELECT `id_carte`, `lib_carte`, `Link` FROM `carte` WHERE carte.id_theme = '.$_POST['id'];
    	$result = mysql_query($rq) or die(mysql_error());
    	$sdt = mysql_fetch_array($result);
    	
    	$i = 0;
    	if (mysql_num_rows($result) > 0)
    	{
    		echo '<select size="1" name="carte" width="100%" class="liste_themes" onclick="document.getElementById(\'energize\').value = 0, document.getElementById(\'tarifz­e\').value = 0, document.getElementById(\'secteurze\').value = 0" onblur="document.getElementById(\'compteur\').responseText = ""' onchange="Lien(this)" onkeyup="iLanceLoZaFair(\'id=\' + this.value,\'mIlireLoZaffair3.php\', \'POST\', \'contenu2\')">';
    		echo '<option value="-1">Choisir</option>';
    		while ($dt = mysql_fetch_row($result))
    		{
    			echo '<option value="'.utf8_encode($dt[0]).'">'.utf8_encode($dt[1]).'</option>';
    		}
    		echo '</select>';
    	}
    	else
    	{
    		echo utf8_encode("Pas de sous catégories disponible");
    	}
    }
    
    ?>
    <iframe id="I1"></iframe>
    1
  4. ophoto Messages postés 69 Statut Membre 35
     
    super ca fonctionne

    MERCI Tiller
    0