Passer des paramètres d'URL

Résolu
Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009 - 4 sept. 2009 à 10:57
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 4 sept. 2009 à 14:36
Bonjour à tous,

Je suis débutant en JS. En fait je m'y mets depuis deux jours...
Je cherche à récupérer des champs postés et à les envoyer en paramètres d'URL et tout ce que j'essais ne semble pas fonctionner.

Ce que je cherche à faire, c'est construire un URL en fonction des éléments choisis dans mes menus. C'est à dire que j'ai :

- Un menu déroulant AudioCodec
- Un menu déroulant VideoCodec
- Le texte à afficher est le résultat d'une requête MySQL construite dynamiquement en fonction des parmètres d'URL reçus sur la page que j'appelle
- mon URL appelé, sur lequel j'effectue la requête SQL est sql-analysing-content.php

Je souhaite que les éléments choisis se retrouvent sous cette forme :
sql-analysing-content.php?Codec= le_choix_fait_sur_le_menu_deroulant_AudioCodec&VideoCodec=le_choix_fait_sur_le_menu_deroulant_VideoCodec

Voici mon code, construit à partir de bout trouvés ici et là.

<script type="text/javascript">
function writediv(texte)
{ // J'initialise une DIV dans laquelle inscrire les éléments que j'aurai récupérés
document.getElementById('AudioVideoCodecsBox').innerHTML = texte;
}
function verifCodec(AudioCodec)
{ // Je vérifie si une sélection a été faite dans mon menu AudioCodec
if(AudioCodec != '')
{
if(AudioCodec.length<2)
writediv(' '+AudioCodec+' : Selectionnez un codec Audio');

else if(texte = file('sql-analysing-content.php?Codec= '+escape(AudioCodec)+'&VideoCodec='+escape(VideoCodec)))
{
writediv(''+texte);
}
}
}
function verifCodec(VideoCodec)
{
if(VideoCodec != '')
{ // Je vérifie si une sélection a été faite dans mon menu VideoCodec
if(VideoCodec.length<2)
writediv(' '+VideoCodec+' : Selectionnez un codec Video');

else if(texte = file('sql-analysing-content.php?VideoCodec='+escape(VideoCodec)))
{
writediv(''+texte);
}
}

}
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);
}
</script>

<link href="../../css/analysing.css" rel="stylesheet" type="text/css" />
</head>

<form action="">
Audio Codec,
Video Codec,

----

<select name='AudioCodec' style='width:150px;' align='center' class='SubTitreHeaderBlueBack' onchange='verifCodec(this.value)' >
<option value=>Select</option>
<option value='AAC'>AAC</option>
<option value="AACplus">AAC+</option>
<option value="eAAC">eAAC+</option>
<option value='AMR-NB'>AMR NB</option>
<option value='AMR-WB'>AMR WB</option>
<option value='iMelody'>iMelody</option>
<option value='Midi'>Midi</option>
<option value='REAL'>REAL Audio</option>
<option value='PCM'>WAV</option>
</select>,
<select name='VideoCodec' style='width:150px;' class='SubTitreHeaderBlueBack' onchange='verifCodec(this.value)' >
<option value=>Select</option>
<option value='H263'>H263</option>
<option value='H264'>H264</option>
<option value='MPEG-4'>MPEG-4</option>
<option value='REAL'>REAL Video</option>
<option value='WMV'>WMV</option>
</select>,

----

<table width='90%'>
----,

</td>

</td>
</tr>
</table>


Je comprends bien que le problème vient du fait que ma fonction VerifCodec est utilisée 2 fois, pour le codec audio et pour le codec video, mais je ne trouve pas comment faire...

Est ce que quelqu'un peut m'aider ???

Merci à tous !!!

1 réponse

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
4 sept. 2009 à 14:36
Bonjour,
si vous avez le même nom pour plusieurs fonctions
ça ne peut pas fonctionner.
appeler l'une verifCodecAudio et l'autre verifCodecVideo
par exemple.
Cordialement [mon Site] [M'écrire] Bul
3
Rejoignez-nous