Forum de discussion
Forum « Programmation Javascript » (archives)
Re: gestion de menu déroulant javascript dans une iframe
Envoyé: 28 juillet 2004, 10h55 par alexkickstand
la page test.php avec iframe qui apelle
le script.
test.php code :
---------------------
<iframe id="test" src="recherche.php" height="600" width="800"></iframe>
---------------------------
le code de la page "recherche.php" contenant 2 menu déroulants en javascript.
le probleme : les 2 menus déroulants fonctionnent très bien si la page n'est pas appelé par une iframe dès un appel par une iframe "erreur :
ligne : 1
Car : 1
Erreur : Objet attendu
Code : 0
------------------------------------
include ("../include/cnx.inc.php");
//fonction pour générer les menus déroulants des activités
function MenuDer ($Cnx, $Domaine, $Activite)
{
$requete = "select iddomaineactivite from TableDesDomainesActivitesSocietes order by desssactivite";
$idresreq = mysql_query ($requete, $Cnx);
$i=0;
while ($resreq = mysql_fetch_array($idresreq))
{
$Code .= "menu[$i]=new Array();\n";
$requete2 = "select * from TableActivitesSocietes where iddomaineactivite=$resreq[0] order by DesActivite";
$idresreq2 = mysql_query ($requete2, $Cnx);
$j=0;
$Code2 .= "\tmenu[$i][$j]=new Option(\"Toutes Activités\",\"ALL|$resreq[0]\");\n";
$j++;
while ($resreq2=mysql_fetch_array($idresreq2))
{
$Code2 .= "\tmenu[$i][$j]=new Option(\"".addslashes($resreq2[1])."\",\"$resreq2[0]\",false,".(($resreq2[0]==$Activite )?"true":"false").");\n";
$j++;
}
$i++;
}
$tab = array();
$tab[0]= $Code;
$tab[1] = $Code2;
return $tab;
}
if (isset($sousTheme))
{
//Activités
if (!ereg("ALL",$sousTheme))
{
$requete6 = "select * from TableActivitesSocietes where idactivite=$sousTheme";
$idresreq6 = mysql_query ($requete6, $Cnx);
$resreq6 = mysql_fetch_array ($idresreq6);
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Recherchez une entreprise</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" >
<meta name="generator" content="HAPedit 3.0">
<link rel="stylesheet" href="../include/style.css" type="text/css">
<SCRIPT LANGUAGE="JavaScript">
<!--
/* Daniel Fabien - 31/01/2003
* Double menu deroulant dynamique
*
* Pour tout renseignements :
* http://www.script-masters.com/home/forum/
* */
menu=new Array()
// Rajoutez un élément au tableau menu pour chaque categorie supplémentaire
// De la même façon, pensez à modifier le formulaire pour rajouter des categories.
<?
$tab = MenuDer($Cnx, $resreq6[IdDomaineActivite], $resreq6[IdActivite]);
echo $tab[0];
echo $tab[1];?>
// Modifiez ici les variables pour les menus deroulant
// la première valeur est le titre, la seconde l'url
// metter l'url à "null" si vous ne souhaitez pas une redirection pour ce titre
// Ne rien modifié sous cette ligne
function changeSousTheme(numeroMenu){
for (i=document.menuDeroulant.sousTheme.options.length-1;i>0;i--){
document.menuDeroulant.sousTheme.options[i]=null
}
for (i=0;i<menu[numeroMenu].length;i++){
document.menuDeroulant.sousTheme.options[i]=new Option(menu[numeroMenu][i].text,menu[numeroMenu][i].value)
}
var INDEX = 0;
for (i=0;i<menu[numeroMenu].length;i++)
{
if (menu[numeroMenu][i].selected==true)
INDEX = i;
}
document.menuDeroulant.sousTheme.selectedIndex=INDEX
}
function selectmenu(theme_prin){
if (theme_prin.theme.options[theme_prin.theme.selectedIndex].value == "null"){
//alert('selectionnez d\'abord un theme');
}
else{
window.top.location.href = theme_prin.theme.options[theme_prin.theme.selectedIndex].value;
}
}
function destination(){
var destination = document.menuDeroulant.sousTheme.options[document.menuDeroulant.sousTheme.selectedIndex].value;
if(destination=="null"){
alert('Veuillez saisir une destination valide!');
}
else{
//window.top.location.href = destination;
document.forms["menuDeroulant"].elements["essai"].value=destination;
}
}
</script>
<style type="text/css">
.Style1 {font-family:verdana, sans-serif;font-size:90%;color:navy;}
.Style2 {font-family:verdana, sans-serif;font-size:80%;color:navy;}
.Style3 {font-family:verdana, sans-serif;font-size:70%;color:navy;}
.Style4 {font-family:verdana, sans-serif;font-size:100%;color:navy;}
</style>
</head>
<body bottommargin="0" leftmargin="0" rightmargin="0" marginheight="0" marginwidth="0" topmargin="0" <?if (isset($sousTheme)) echo "onLoad=\"document.forms['menuDeroulant'].elements['theme'].focus()\"";?>>
<form method='post' action='liste_entr.php' NAME="menuDeroulant">
<br><br><br>
<table width="680" border="0" class="GroTab" align=center>
<tr><td>
<table width="100%" border="0" height="72">
<tr>
<td width="150" height="65" valign="middle" align="center">
<div align="center"><a href="http://www.marseille-innov.org"><img src="http://www.marseille-innov.org/dejeuner/images/petit-marseilleb.gif" width="150" height="38" border="0"></a></div>
</td>
<td width="85%" height="65"> <table width="85%" border="1" align="center" bordercolor="#003399" cellspacing="0">
<tr>
<td height="26">
<div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFCC00"><font size="4" color="#003399">Annuaire des Entreprises </font></font> </div></td>
</tr>
</table></td>
</tr>
</table>
<br><br><br>
<table width='95%' bgcolor='dce8f4' align=center>
<tr bgcolor="99CCFF">
<th colspan="2" ><div align="center" class="Style4"><strong>Recherchez une entreprise </strong></div></th>
</tr>
<tr><td colspan=2><hr></td></tr>
<tr>
<td colspan="2" ><div align="center">
<?
echo " - ";
for ($i=0; $i<count($tablo); $i++)
{
echo "<a href='liste_entr.php?lettre=$tablo[$i]'>$tablo[$i]</a> - ";
}
?>
</div></td>
</tr>
<tr><td colspan=2><hr></td></tr>
<tr>
<td width='20%'><span class='Style2'>Pépinière :</span></td>
<td >
<div align="left">
<select name='Site' style='font-family:verdana, sans-serif;font-size:80%;color:navy;'>
<option value='' <?=(($Site=='')?"selected":"")?>>Toutes les pépinières
<option value='2'<?=(($Site=='2')?"selected":"")?>>Friche Belle de Mai
<option value='3'<?=(($Site=='3')?"selected":"")?>>Technopôle de Château-Gombert
</select>
</div></td></tr>
<?/*
echo "<tr>
<td width='20%'>Type de suivi: </td>
<td><div align='center'>
<select name='Suivi'>
<option value=''>Tous les suivis";
$requete3 = "select * from TableDesSites order by ordre limit 0,4";
$idresreq3 = mysql_query ($requete3 ,$Cnx);
while ($resreq3=mysql_fetch_array($idresreq3))
{
echo "<option value='$resreq3[IdSite]' ".(($Suivi==$resreq3[IdSite])?"selected":"").">$resreq3[Des2Site]";
}
echo"</select>
</div></td>
</tr>";*/
?>
<tr>
<td width='20%'><span class='Style2'>Raison Sociale : </span></td>
<td >
<div align="left">
<input type="text" name="Raison" value="<?=$Raison?>" size=40 style='font-family:verdana, sans-serif;font-size:80%;color:navy;'>
</div></td></tr>
<tr>
<td ><span class='Style2'>Domaine d'activité :</span></td>
<td >
<div align="left">
<SELECT NAME="theme" SIZE=1 <?if (isset($sousTheme)) echo "onfocus=\"selectmenu(this.form)\"";?> onchange="selectmenu(this.form)" style='font-family:verdana, sans-serif;font-size:80%;color:navy;'>
<OPTION selected VALUE="null">Tous Domaines d'Activités
<?
if (ereg("ALL", $sousTheme))
{
$Buffer = explode ("|",$sousTheme);
$Domaine = $Buffer[1];
}
else
{
$Domaine = $resreq6[IdDomaineActivite];
}
$requete = "select * from TableDesDomainesActivitesSocietes order by desssactivite";
$idresreq = mysql_query ($requete, $Cnx);
$i = 0;
while ($resreq = mysql_fetch_array($idresreq))
{
echo "<OPTION VALUE=\"Javascript:changeSousTheme($i)\" ".(($resreq[0]==$Domaine)?"selected":"").">$resreq[1]";
$i++;
}
?>
</SELECT>
<br>
<SELECT NAME="sousTheme" style='font-family:verdana, sans-serif;font-size:80%;color:navy;'>
<OPTION VALUE="null">Selectionner D'abord Un Domaine
</SELECT>
</div></td></tr>
<tr>
<td ><span class='Style2'>Descriptif :</span></td>
<td >
<div align="left">
<input type="text" name="Texte" value="<?=$Texte?>" size=40 style='font-family:verdana, sans-serif;font-size:80%;color:navy;'>
</div></td></tr>
<tr><td colspan=2><hr></td></tr>
<tr>
<td colspan="2" ><div align="center">
<?if (isset($lettre)) echo "<input type=\"hidden\" name=\"lettre\" value=\"$lettre\" >";?>
<input name="Rechercher" type="submit" id="Rechercher" value="Rechercher" style='font-family:verdana, sans-serif;font-size:80%;color:navy;'>
</div></td>
</tr>
</table>
<br>
</td></tr><td>
</td></tr></table>
</form>
</center>
</body>
</html>
Réponses
|