Retrouvez les publications relatives à ces discussions dans
notre rubrique javascript.
liste des forums
liste des discussions
Participer à la discussion
-
Message publié le jeudi 08 mai 2008 à 12 h 04 par Allserv. Mieux vaut avoir un vélo pour pédaler......
-
Bonjour,
J'aimerais avoir votre avis concernant un petit problème de mise en page.
Je modifie le contenu de ma page dynamiquement via DOM et j'ajoute une liste déroulante de tailles.
Le problème c'est que je n'arrive pas à faire tenir le contenu sur une même ligne, l'ajout de la liste déroulante se fait toujours à la ligne.
Voici mon code d'ajout :
<code>
<script language="javascript">
var range=<?=(count($id_article)==0)?1:count($id_article);?>;
function addSlot(){
var up = document.getElementById('slots');
var dv = document.createElement("div");
dv.innerHTML = '<p><select name="id_article['+range+']" onchange="if(this.options[this.selectedIndex].value>0) addTaille(this.options[this.selectedIndex].value,'+range+');"> <?=generateOptions(0);?> </select> Taille : <div id="taille_'+range+'"><div></div></div> Qte : <input type="text" name="qte[' + range + ']" size="2" maxlength="2" value="1"></p>';
up.appendChild(dv);
range++;
up = null;
dv = null;
}
function addTaille(id_article,range){
var tailles = new Array;
<?
// Recuperation de toutes les tailles pour les articles
$sql = "SELECT id_article,taille FROM ".$GLOBALS["table_articles"]." NATURAL JOIN ".$GLOBALS["table_tailles"]." ORDER BY id_article,taille";
$query = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_array($query)){
?>
tailles[<?=$data["id_article"];?>] = "<select name=\"tailles["+range+"]\" id=\"tailles["+range+"]\">";
<?
$sql_two = "SELECT DISTINCT taille FROM ".$GLOBALS["table_tailles"]." WHERE id_article='".$data["id_article"]."' ORDER BY taille";
$query_two = mysql_query($sql_two) or die(mysql_error());
while($data_two = mysql_fetch_array($query_two)){
?>
tailles[<?=$data["id_article"];?>] += "<option value='<?=$data_two["taille"];?>'><?=$data_two["taille"];?></option>";
<?
}
?>
tailles[<?=$data["id_article"];?>] += "</select>";
<?
}
?>
var div_article = 'taille_'+range+'';
var noeud=document.getElementById(div_article).firstChild;
document.getElementById(div_article).removeChild(noeud);
var up = document.getElementById(div_article);
var dv = document.createElement("div");
dv.innerHTML = tailles[id_article];
up.appendChild(dv);
up = null;
dv = null;
}
</script>
</code>
Dans le corps de ma page j'ai un div nommé slots :
<div id="slots" style="display:inline;"></div>
Il permet d'ajouter via addSlot une nouvelle ligne avec :
- un select d'article lorsqu'on le change il ajoute le fameux select de tailles
C'est cet ajout qui bloque et qui se mets sur la ligne suivante.
Quelqu'un aurait une solution ?
Bonne journée et merci d'avance
liste des forums
liste des discussions
Participer à la discussion
Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.