par
Sh4Dow » 09 nov. 2006, 15:38
Hello tout le monde !
Voila, j'ai un léger petit problème (et oui, encore).
J'aimerais faire la chose suivante : lorsque l'utilisateur sélectionne une option dans une liste déroulante, un fichier qui permet un contenu dynamique vient s'afficher dans un div.
Donc, j'ai une zôlie fonction Javascript que voila :
Code : Tout sélectionner
<script type="text/JavaScript">
function file(fichier){
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4)
return(xhr_object.responseText);
else
return(false);
}
function nextlist(){
id=document.getElementById('dates').value;
num_salle=document.getElementById('salles').value;
<!-- on apelle le fichier affiche_sem.php en passant les valeurs nécessaires (soit le numéro de la semaine et le numéro de la salle) -->
if(texte = file("affiche_sem.php?sem="+id+"&sal_num="+num_salle)){
writediv_semaine(texte);
}
}
<!-- on crée un calque -->
function writediv_semaine(texte){
document.getElementById('semaine').innerHTML = texte;
}
</script>
Suivie quelques lignes plus bas, d'un formulaire qui me semble plutôt sexy lui aussi (non, je raconte n'importe quoi là ...

)
Code : Tout sélectionner
<form id="dates" name="dates" method="post" action="">
<label>Date : </label> <select name="date_sem" id="date_sem" onChange="nextlist()" >
<!-- On appelle la fonction nextlist -->
<?php
//ici $i = nb de semaine
for ($i=$prec;$i<$futur;$i++){
$date_c=calc_dates($i);
?>
<!-- Semaine courante = 0 Si $i = 0 alors, sélectionné par défaut -->
<option value="<? echo $i ?>" <? if ($i==0) echo "selected" ?>><?php echo $date_c[0]." au ".$date_c[1]; ?></option>
<?php
}
?>
</select>
</form>
<!-- Sélection de la salle -->
<form id="salle" name="salle" methode="post" action="">
<label>Salle : </label> <select name="select_salle" onChange="nextlist()" >
<!-- On appelle la fonction nextlist -->
<?php
//on affiche toutes les salles disponibles dans la table t_salles
while ($row_salles = mysql_fetch_assoc($salles)){
?>
<option value=<?php echo $row_salles['sal_num'] ?>><?php echo $row_salles['sal_nom'] ?></option>
<?php
}
?>
</select>
</form>
Finalement mon div attend patiemment son petit fichier tant désiré au coin du feu :
Mon problème héhé ... ça marche pas ! Je parviens à tester le fichier appelé séparément mais impossible de l'afficher sur la page souhaitée. Rien ne se passe. De plus, Firefox ne m'indique aucune erreur et IE me dit qu'il y a une erreur à la ligne 31 au caractère 5, qu'il attend un paramètre. J'avoue ne pas comprendre.
Voila, c'est peut-être une question bête et stupide mais le codding (ou scripting, je sais pas quel terme vous préférez), c'est pas tellement mon truc. Je préfère le visuel. Mais malheureusement, on peut pas toujours choisir
Et si quelqu'un pourrait me venir en aide, ça serait vraiment sympa.
Merci d'avance !
Hello tout le monde !
Voila, j'ai un léger petit problème (et oui, encore).
J'aimerais faire la chose suivante : lorsque l'utilisateur sélectionne une option dans une liste déroulante, un fichier qui permet un contenu dynamique vient s'afficher dans un div.
Donc, j'ai une zôlie fonction Javascript que voila :
[code]
<script type="text/JavaScript">
function file(fichier){
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4)
return(xhr_object.responseText);
else
return(false);
}
function nextlist(){
id=document.getElementById('dates').value;
num_salle=document.getElementById('salles').value;
<!-- on apelle le fichier affiche_sem.php en passant les valeurs nécessaires (soit le numéro de la semaine et le numéro de la salle) -->
if(texte = file("affiche_sem.php?sem="+id+"&sal_num="+num_salle)){
writediv_semaine(texte);
}
}
<!-- on crée un calque -->
function writediv_semaine(texte){
document.getElementById('semaine').innerHTML = texte;
}
</script>
[/code]
Suivie quelques lignes plus bas, d'un formulaire qui me semble plutôt sexy lui aussi (non, je raconte n'importe quoi là ... :roll: )
[code]
<form id="dates" name="dates" method="post" action="">
<label>Date : </label> <select name="date_sem" id="date_sem" onChange="nextlist()" >
<!-- On appelle la fonction nextlist -->
<?php
//ici $i = nb de semaine
for ($i=$prec;$i<$futur;$i++){
$date_c=calc_dates($i);
?>
<!-- Semaine courante = 0 Si $i = 0 alors, sélectionné par défaut -->
<option value="<? echo $i ?>" <? if ($i==0) echo "selected" ?>><?php echo $date_c[0]." au ".$date_c[1]; ?></option>
<?php
}
?>
</select>
</form>
<!-- Sélection de la salle -->
<form id="salle" name="salle" methode="post" action="">
<label>Salle : </label> <select name="select_salle" onChange="nextlist()" >
<!-- On appelle la fonction nextlist -->
<?php
//on affiche toutes les salles disponibles dans la table t_salles
while ($row_salles = mysql_fetch_assoc($salles)){
?>
<option value=<?php echo $row_salles['sal_num'] ?>><?php echo $row_salles['sal_nom'] ?></option>
<?php
}
?>
</select>
</form>
[/code]
Finalement mon div attend patiemment son petit fichier tant désiré au coin du feu :
[code]
<div id="semaine"></div>
[/code]
Mon problème héhé ... ça marche pas ! Je parviens à tester le fichier appelé séparément mais impossible de l'afficher sur la page souhaitée. Rien ne se passe. De plus, Firefox ne m'indique aucune erreur et IE me dit qu'il y a une erreur à la ligne 31 au caractère 5, qu'il attend un paramètre. J'avoue ne pas comprendre.
Voila, c'est peut-être une question bête et stupide mais le codding (ou scripting, je sais pas quel terme vous préférez), c'est pas tellement mon truc. Je préfère le visuel. Mais malheureusement, on peut pas toujours choisir :wink:
Et si quelqu'un pourrait me venir en aide, ça serait vraiment sympa.
Merci d'avance !