Javascript / ajout dynamique de checkBox

Fermé
Nappo Messages postés 7 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 22 décembre 2009 - 22 déc. 2009 à 20:05
Nappo Messages postés 7 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 22 décembre 2009 - 22 déc. 2009 à 21:18
Bonjour, à tous
Voila je sollicite votre aide pour un problème qui me laisse perplexe depuis 2 jours..

Je suis en train de coder un système de multi-upload d'image (qui marche). Le truc c'est que je dois associer à chaque nouvelle image 2 boutons radios qui correspondent au choix d'alignement de l'image en question (droite ou gauche).

Le problème vient du fait que l'ajout des inputs se fait dynamiquement et je n'arrive pas à récupérer la valeur des boutons radios associés à chaque input.

Je m'explique..

Voici le formulaire de mutliupload :


<div id="upload">
<form name="uploadImg" action="upload.php" method="post" enctype="multipart/form-data">
<div id="fichiers">
Aucun fichier à uploader
</div>
<br/>
<input type="hidden" value="'. $lien .'" name="nomChantier"/>
Charger l\'image :
<!-- CE SPAN RECOIT LES DIFFERENTS INPUTS CREES PUIS CACHES UNE FOIS UTILISES -->
<span id="input"></span>
<br/><br />
<input type="submit" value="Uploader"/>
</form>
</div>


A chaque fois que l'on rajoute un fichier à uploader, on passe l'input dans le span et on le rend invisible
On rajoute une entrée avec un lien de supression, le nom de l'image et les fameux boutons radio dans la div "fichier"


function ajouterFichier(input)
{
if(nbrFichiers == 0)
$("fichiers").removeChild($("fichiers").firstChild);

//Création de la ligne dans la liste des fichiers à uploader
var fichier = document.createElement("p");

//Image de suppression
var image = document.createElement("img");
image.src = "images/suppr.gif";
image.alt = "supprimer";
Element.setStyle(image, {border: "0px", verticalAlign: "top"});

//Lien pour supprimer
var lnk = document.createElement("a");
lnk.href= "#";
lnk.onclick = function () {
supprimerFichier(fichier, input);
}
//Ajout de l'image dans la balise de lien
lnk.appendChild(image);

//Ajout des boutons radios
var radioAv = document.createElement("input");
radioAv.type = "radio";
radioAv.name = "_" + getFileName(input.value);
radioAv.value = "Av";

var radioAp = document.createElement("input");
radioAp.type = "radio";
radioAp.name = "_" + getFileName(input.value);
radioAp.value = "Ap";

//Ajout du lien à la ligne de la liste
fichier.appendChild(lnk);


//Ajout du nom du fichier
fichier.appendChild(document.createTextNode(" " + getFileName(input.value) + " "));
Element.setStyle(fichier, {margin: "0", padding: "0"});

//Ajout des boutons radios à la ligne
fichier.appendChild(radioAv);
fichier.appendChild(document.createTextNode("Av"));
fichier.appendChild(radioAp);
fichier.appendChild(document.createTextNode("Ap"));

//Ajout de l'item à la liste
$("fichiers").appendChild(fichier);
nbrFichiers++;

//Affectation de l'attribut name de l'input
input.name = getFileName(input.value);

new Effect.Highlight(fichier, {startcolor: "#7fd9ff", endcolor: "#FFFFFF"});

//Création d'un nouvel input pour un nouveau fichier
Element.hide(input);
creerInput();
}


Le problème vient du fait que étant créer dynamiquement mes boutons radios il ne sont pas pris en compte lors de l'envoie du formulaire

Ainsi dans mon fichier php qui upload les images

lorsque j'essai de récuperer la valeur des radios il ne trouve rien

$align = "_".$_POST[$name_file];

Une idée :) ??

Merci d'avance
A voir également:

1 réponse

Nappo Messages postés 7 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 22 décembre 2009
22 déc. 2009 à 21:18
Personne .. ?
0