par
d0m » 31 juil. 2007, 15:08
Bonjour,
j'ai une erreur javascript au niveau de mon fomulaire simple :
foreach($elements as $num_ordre => $element){
echo '<INPUT TYPE="HIDDEN" name="ordre['.$num_ordre.']" value="'.$element.'">'."\n";
echo '<IMG SRC="..." onclick="monter(this.form,\''.$num_ordre.'\')">';
echo '<IMG SRC="..." onclick="descendre(this.form,\''.$num_ordre.'\')">';
}
à "coté" de chacun de ses champs hidden, j'ai 2 boutons monter et descendre pour changer l'ordre des éléments par du javascript.
Voici le code javascript :
Code : Tout sélectionner
function monter(formulaire,numeroOrdre){
if(document.getElementById(numeroOrdre-1)){
var contenu1 = document.getElementById(numeroOrdre).innerHTML;
var contenu2 = document.getElementById(numeroOrdre-1).innerHTML;
document.getElementById(numeroOrdre-1).innerHTML = contenu1;
document.getElementById(numeroOrdre).innerHTML = contenu2;
var tmp = numeroOrdre-1;
document.formulaire.ordre[tmp].value = contenu1;
document.formulaire.ordre[numeroOrdre].value = contenu2;
}
}
function descendre(formulaire,num){
var numeroOrdre = num-1+1;
if(document.getElementById(numeroOrdre+1)){
var contenu1 = document.getElementById(numeroOrdre).innerHTML;
var contenu2 = document.getElementById(numeroOrdre+1).innerHTML;
document.getElementById(numeroOrdre+1).innerHTML = contenu1;
document.getElementById(numeroOrdre).innerHTML = contenu2;
var tmp = numeroOrdre+1;
document.formulaire.ordre[tmp].value = contenu1;
document.formulaire.ordre[numeroOrdre].value = contenu2;
}
}
en même temps, le contenu du div contenant le nom de l'element change en montant ou descendant. Ceci marche, par contre la valeur du champ hidden ne change pas, et j'ai cette erreur :
Code : Tout sélectionner
document.formulaire.ordre a la valeur Null ou n'est pas un objet...
C'est pourtant le bon nom des champs hidden...
je vois pas et vous?
Bonjour,
j'ai une erreur javascript au niveau de mon fomulaire simple :
[php]
foreach($elements as $num_ordre => $element){
echo '<INPUT TYPE="HIDDEN" name="ordre['.$num_ordre.']" value="'.$element.'">'."\n";
echo '<IMG SRC="..." onclick="monter(this.form,\''.$num_ordre.'\')">';
echo '<IMG SRC="..." onclick="descendre(this.form,\''.$num_ordre.'\')">';
}
[/php]
à "coté" de chacun de ses champs hidden, j'ai 2 boutons monter et descendre pour changer l'ordre des éléments par du javascript.
Voici le code javascript :
[code]
function monter(formulaire,numeroOrdre){
if(document.getElementById(numeroOrdre-1)){
var contenu1 = document.getElementById(numeroOrdre).innerHTML;
var contenu2 = document.getElementById(numeroOrdre-1).innerHTML;
document.getElementById(numeroOrdre-1).innerHTML = contenu1;
document.getElementById(numeroOrdre).innerHTML = contenu2;
var tmp = numeroOrdre-1;
document.formulaire.ordre[tmp].value = contenu1;
document.formulaire.ordre[numeroOrdre].value = contenu2;
}
}
function descendre(formulaire,num){
var numeroOrdre = num-1+1;
if(document.getElementById(numeroOrdre+1)){
var contenu1 = document.getElementById(numeroOrdre).innerHTML;
var contenu2 = document.getElementById(numeroOrdre+1).innerHTML;
document.getElementById(numeroOrdre+1).innerHTML = contenu1;
document.getElementById(numeroOrdre).innerHTML = contenu2;
var tmp = numeroOrdre+1;
document.formulaire.ordre[tmp].value = contenu1;
document.formulaire.ordre[numeroOrdre].value = contenu2;
}
}
[/code]
en même temps, le contenu du div contenant le nom de l'element change en montant ou descendant. Ceci marche, par contre la valeur du champ hidden ne change pas, et j'ai cette erreur :
[code]document.formulaire.ordre a la valeur Null ou n'est pas un objet...[/code]
C'est pourtant le bon nom des champs hidden...
je vois pas et vous?