Changer un select en fonction d'un choix... - PHP - Programmation
Marsh Posté le 21-12-2011 à 16:27:00
et le Java script qui permet de faire ça, si quelqu'un peut essayer de m'aider, je galère énormément, j'ai pas encore appris le Java/php... merci merci merci !
function NiveauUn(f){
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP" );
else{ // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
return;
}
xhr_object.open("POST", "/car/candidats/entretiens/niveau_un.php", true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) eval(xhr_object.responseText);
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded" );
var data = "form="+f.name+"&select=n1";
xhr_object.send(data);
}
function NiveauDeux(f){
var l1 = f.elements["n1"];
var l2 = f.elements["n2"];
var index = l1.selectedIndex;
if(index < 1){
l2.options.length = 0;
}else{
<!-- var xhr_object = null; -->
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP" );
else{ // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
return;
}
xhr_object.open("POST", "/car/candidats/entretiens/niveau_deux.php", true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) eval(xhr_object.responseText);
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded" );
var data = "n1="+escape(l1.options[index].value)+"&form="+f.name+"&select=n2";
xhr_object.send(data);
}
}
Marsh Posté le 22-12-2011 à 11:17:23
Au lieu de te prendre la tête avec les objets http request regarde du côté de jquery outil très puissant.
Tu pourras faire ce que tu veux sans soucis.
Marsh Posté le 22-12-2011 à 16:48:02
Le problème, c'est que toute l'appli web est déja faite... En gros je suis débutant qui arrive sur une appli en php/JS le bordel...
Marsh Posté le 21-12-2011 à 16:23:48
Bonjour à tous,
Une chose que je n'arrive pas à faire depuis hier 12h... Je dois en fonction des onglets cliqués, changer un select. seulement je ne sais pas comment m'y prendre... En gros, si je clique sur l'onglet 1 je veux que ma balise select m'affiche les possibilités qu'offre l'onglet 1.
Le code est plus bas, je pense qu'il faut que je dise "Pour tel onglet tu me prend la valeur tant" mais je sais pas comment coder ça... Enfaite ces choix prennent une valeur qui est inscrite en base de donnée puis transcrit selon le chiffre en type, et sous type
Voile le code, dans un premier temps mes onglets :
<ul name="n1" id="entretien-type-n1" class="petits-onglets onglets" align="left" onFocus="NiveauUn(this.form)" onChange="NiveauDeux(this.form)" style="margin-left:50px; margin-right:50px; margin-top:30px; margin-bottom:30px;">
<li>
<a name="n1" id="entretien-type-n1" href="#" value="" class="onglet"> Entretien</a>
</li>
<li>
<a name="n1" id="entretien-type-n1" href="#" value="" class="onglet"> Atelier</a>
</li>
<li>
<a name="n1" id="entretien-type-n1" href="#" value="" class="onglet">Démarche consultant</a>
</li>
<li>
<a name="n1" id="entretien-type-n1" href="#" value="" class="onglet">Interruption</a>
</li>
<li>
<a name="n1" id="entretien-type-n1" href="#" value="" class="onglet">Réception de documents</a>
</li>
<li>
<a name="n1" id="entretien-type-n1" href="#" value="" class="onglet">Point bilan 3/6 mois</a>
</li>
<li>
<a name="n1" id="entretien-type-n1" href="#" value="" class="onglet">Invitation spécifique</a>
</li>
Voila mon php qui Donne des valeurs aux choix, Je précise que avant les onglet c'était un autre <select>, qui changeait l'autre select... mais ça bugais..
select name="n2" id="entretien-type-n2" class="champ champ-select champ-obligatoire" value="<?php echo $n2 ?>" ></select>
<?php
$out_activ_type = $n1;
if ($n1 == "1" || $n1 == "2" || $n1 == "4" || $n1 == "38" || ($n1 >= 6 AND $n1 <= 16) || ($n1 >= 80 AND $n1 <= 100) ) {
$n1 = "Atelier";
print ' <b>Actuellement: </b>'.$n1.'->'.$n2.'<br />';
}
elseif ($n1 == "1" || $n1 == "3" || $n1 == "5" || ($n1 >= 20 AND $n1 <= 37) || ($n1 >= 200 AND $n1 <= 299) ) {
$n1 = "Entretien";
print ' <b>Actuellement: </b>'.$n1.'->'.$n2.'<br />';
}
elseif ($n1 >= 300 AND $n1 <= 399) {
$n1 = "Démarche consultant";
print ' <b>Actuellement: </b>'.$n1.'->'.$n2.'<br />';
}
elseif ($n1 >= 400 AND $n1 <= 499) {
$n1 = "Interruption";
print ' <b>Actuellement: </b>'.$n1.'->'.$n2.'<br />';
}
elseif ($n1 >= 500 AND $n1 <= 599) {
$n1 = "Réception de documents";
print ' <b>Actuellement: </b>'.$n1.'->'.$n2.'<br />';
}
elseif ($n1 >= 600 AND $n1 <= 699) {
$n1 = "Point bilan 3/6 mois";
print ' <b>Actuellement: </b>'.$n1.'->'.$n2.'<br />';
}
elseif ($n1 >= 700 AND $n1 <= 799) {
$n1 = "Invitation Spécifique";
print ' <b>Actuellement: </b>'.$n1.'->'.$n2.'<br />';
}
elseif ($n1 >= 800 AND $n1 <= 899) {
$n1 = "Bilan de Compétences";
print ' <b>Actuellement: </b>'.$n1.'->'.$n2.'<br />';
}
?>