Ma fonction n emarche pas

appolin nzale -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,Bonjour,jai un probleme au niveau de mes codes.je voudrais ecrire une fonction javascript permetant de recuper l'id et la valeur selectionnée dans un combobox,puis appeler un fichier xml qui à l'aide de ces deux parametres,me construira un treeview. voilà dejà ce que j'ai pu faire et ça ne arche pas:

..........code formulaire....................................

<form name="f2" metho="GET">
<table width="100%" >
<tr>
<td align="left" style='font-size:11px' valign='bottom'>Region : </td>
<td align="left"><div id="cbxExerciceToLoad" style=""></div>
</td>

</tr>

<tr>
<td colspan="2" align="right" ><input type="button" name="Submit" value="Afficher" style="font-size:10px; " onClick=//"if(f2.cbxExerciceToLoad.Selected())!=''){BuildFindUrl()}else{alert('selectionner une valeur');}"></td>
</tr>
</table>
</form>

function BuildFindUrl()
{
//valeur du combo
var cbxindex=cbxExerciceToLoad.getSelectedIndex();
//alert(cbxvalue);
var strtext=cbxExerciceToLoad.getSelectedText();
myTree = MyAccordLeft.cells("b").attachTree("0");
myTree.setImagePath("codebase/imgs/");
myTree.setXMLAutoLoading("xml/xml/directoryTree.xml.php?id=cbxindex&libelle=strtext");
myTree.loadXML("xml/directoryTree.xml.php?id=cbxindex&libelle=strtext");

}

.........................fichier xml.............................................................

<?php
require_once("../admin/connection.php");

function outputDir($idracine)
{

//en tête tree
echo "<tree id='0'>";

//on lance la requete

//1-Affiche racine tree
$query ="select * from adminunity WHERE ID=$idracine";
//$connection_id=Myodbc_connect();
$result=mysql_query($query);

//On boucle sur le resultat
while ($tuple=mysql_fetch_object($result))
{
$Id=$tuple->ID ;//on recupère l'Id de l'enregistrement
$StrLibelleNode=trim(stripslashes($tuple->NAME));

//1-on recupère les images
GetImages('1',$im0,$im1,$im2);
//2-on affiche l'élément
echo "<item id='$Id' text='$StrLibelleNode' im0='$im0' im1='$im1' im2='$im2'/>";

}

//affichage des fils de la racine

$query ="select * from adminunity WHERE PARENTID=$idracine";
$result=mysql_query($query);
//On boucle sur le resultat
while ($tuple=mysql_fetch_object($result))
{
$Id=$tuple->ID ;//on recupère l'Id de l'enregistrement
$StrLibelleNode=trim(stripslashes($tuple->NAME));

//test existence fils
if(hasSon($Id))
{
//affichage en tant que dossier
GetImages('1',$im0,$im1,$im2);
//2-on affiche l'élément
echo "<item id='$Id' text='$StrLibelleNode' im0='$im0' im1='$im1' im2='$im2'/>";

$query ="select * from structure WHERE PARENTID=$Id";

}
else
{

}

}

echo "</tree>";
}

function hasSon($Id)
{
$query ="select count(*) as nombrefils from structure WHERE PARENTID=$Id";
//echo $query.'<br/>';
//exit;
//$connection_id=Myodbc_connect();
$result=mysql_query($query);
while ($tuple=mysql_fetch_object($result))
{
$numfils=$tuple->nombrefils;//on recupère l'Id de l'enregistrement
//echo $numfils.'<br/>';
}

if($numfils>0) return true;
else return false;
}

function BuildXmlString(&$strXml,$Idnode,$StrLibelleNode)
{
if(hasSon($Idnode))
{
//affichage en tant que dossier
GetImages('1',$im0,$im1,$im2);
//2-on affiche l'élément
$strXml=$strXml."<item id='$Idnode' text='$StrLibelleNode' im0='$im0' im1='$im1' im2='$im2'>";
//echo $strXml;
$query ="select * from structure WHERE PARENTID=$Idnode and PARENTID<>ID";
//$connection_id=Myodbc_connect();
$result=mysql_query($query);
//On boucle sur le resultat
while ($tuple=mysql_fetch_object($result))
{
$IdSon=$tuple->ID;//on recupère l'Id de l'enregistrement
$StrLibelleNodeSon=trim(stripslashes($tuple->ABREVIATION_FR));

BuildXmlString($strXml,$IdSon,$StrLibelleNodeSon);

}
$strXml.="</item>";
//echo $strXml;
}
else
{
//affichage en tant que feuille
GetImages('0',$im0,$im1,$im2);
//2-on affiche l'élément
$strXml=$strXml."<item id='$Idnode' text='$StrLibelleNode' im0='$im0' im1='$im1' im2='$im2'/>";

}

}

function GetImages($children,&$im0,&$im1,&$im2)
{
/*retourne les images à charger
im0 - image for node without children (tree will get images from the path specified in setImagePath(url) method)
im1 - image for opened node with children
im2 - image for closed node with children*/
if($children==1)
{
//si le noeud à des enfants
$im0='folderClosed.gif';
$im1='folderOpen.gif';
$im2='folderClosed.gif';

}
else
{
$im0='book_titel.gif';
$im1='book_titel.gif';
$im2='book_titel.gif';
}

//echo $im0;
}

$strXmlToBind="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
$strXmlToBind=$strXmlToBind."<tree id='0'>";
//echo $strXmlToBind;
//exit;
$LngIdRootNode=($_GET["id"]);
$StrLibelleRootNode=($_GET["libelle"]);
BuildXmlString($strXmlToBind,$LngIdRootNode,$StrLibelleRootNode);
$strXmlToBind=$strXmlToBind."</tree>";

error_reporting(E_ALL ^ E_NOTICE);
header("Content-type:text/xml");
echo $strXmlToBind;

?>

j'aimerai savoir aussi comment charger le bouton (onclick)

s'il vous plais aidez moi. portez vous bien surtout
A voir également:

1 réponse

Alain_42 Messages postés 5413 Statut Membre 894
 
une combobox ? ce n'est pas du html ?

si c'est une liste déroulante dont tu veux parler je ne la voit pas danbs ta partie de code du formulaire html

ensuite modifies ton appel et ta fonction javascript ainsi:

<form name="f2" method="GET">
<table width="100%" >
<tr>
<td align="left" style='font-size:11px' valign='bottom'>Region : </td>
<td align="left"><div id="cbxExerciceToLoad" style=""></div>
</td>


</tr>


<tr>
<td colspan="2" align="right" ><input type="button" name="Submit" value="Afficher" style="font-size:10px; " onClick="BuildFindUrl();"></td>
</tr>
</table>
</form>

<script type="text/javascript">

function BuildFindUrl()
{
if(f2.cbxExerciceToLoad.Selected()!=''){
	//valeur du combo
	var cbxindex=cbxExerciceToLoad.getSelectedIndex();
	//alert(cbxvalue);
	var strtext=cbxExerciceToLoad.getSelectedText();
	myTree = MyAccordLeft.cells("b").attachTree("0");
	myTree.setImagePath("codebase/imgs/");
	myTree.setXMLAutoLoading("xml/xml/directoryTree.xml.php?id=cbxindex&libelle=strtext");
	myTree.loadXML("xml/directoryTree.xml.php?id=cbxindex&libelle=strtext");

	}else{alert('selectionner une valeur');}
}
</script>
0