Bonjour,
J'ai un (petit) souci.
Pouvez-vous m'aider à remplacer les "???" ?
Ce que je souhaiterais, c'est :
Quand je lance la fonction suivante par html :
Si "categorie" contient :
- ou 1 seule option dans le select,
- ou rien du tout;
c'est d'effetuer les opérations suivantes :
- d'exécuter le script ;
- passer le focus à la zone suivante, c'est-à-dire "categorie+1"
- démarrer la fonction pour cette "categorie+1"
J'ai un (petit) souci.
Pouvez-vous m'aider à remplacer les "???" ?
Ce que je souhaiterais, c'est :
Quand je lance la fonction suivante par html :
<td style="padding-left:5px;">
<select id="categorie07" style="width:280px;" onFocus="request(this,7);" onChange="request(this,7);">
</select>
<span id="loader07" style="display: none;"><img src="images/boutique/loader.gif" alt="loading" width="16" height="16" /></span>
</td>
Si "categorie" contient :
- ou 1 seule option dans le select,
- ou rien du tout;
c'est d'effetuer les opérations suivantes :
- d'exécuter le script ;
- passer le focus à la zone suivante, c'est-à-dire "categorie+1"
- démarrer la fonction pour cette "categorie+1"
<!--
function request(oSelect,noSelect) {
var value = oSelect.options[oSelect.selectedIndex].value;
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
readData(xhr.responseXML,noSelect+1);
document.getElementById("loader0"+noSelect).style.display = "none";
} else if (xhr.readyState < 4) {
document.getElementById("loader0"+noSelect).style.display = "inline";
}
}
xhr.open("POST","php/cat.php?cat="+(noSelect+1),true);
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send("parent="+value);
document.getElementById("tr0"+(noSelect+1)).style.display = "";
for (iSelect=noSelect+2; iSelect<=9; iSelect++){
if (noSelect<7) {
document.getElementById("tr0"+iSelect).style.display = "none";
} else {
document.getElementById("tr0"+iSelect).style.display = "";
}
}
}
function readData(oData,noData) {
var nodes = oData.getElementsByTagName("item");
var oSelect = document.getElementById("categorie0"+noData);
var oOption, oInner;
oSelect.innerHTML = "";
if (nodes.length > 1) {
oOption = document.createElement("option");
oInner = document.createTextNode("Choisissez, svp!");
oOption.value = 0;
oOption.appendChild(oInner);
oSelect.appendChild(oOption);
}
for (var i=0, c=nodes.length; i<c ; i++) {
oOption = document.createElement("option");
oInner = document.createTextNode(nodes[i].getAttribute("libelle"));
oOption.value = nodes[i].getAttribute("id");
oOption.appendChild(oInner);
oSelect.appendChild(oOption);
}
if (nodes.length < 2) {
???
}
}
-->
[/i][/i]