Upload

Eléphant du PHP | 138 Messages

25 juil. 2005, 18:33

je viens de faire un copier coller du code que je t'ai fourni 2 messages plus haut et tous les select apparaissent au fur et à mesure.

tu as fais la meme chose?
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)

Eléphant du PHP | 59 Messages

26 juil. 2005, 09:30

J'ai créé une page essai.html, dans laquelle, j'ai copié le code précédent, puis je met l'url de cette page dans mon navifgateur, j'ai l'alerte pour visualiser l'attribut value du select, je clique sur ok, je clique sur parcourir, je calide une image, le chemin est inscrit sur l'input puis plus rien. :cry: :cry:
J'ai fait quelque chose de travers?
:oops:

Eléphant du PHP | 138 Messages

26 juil. 2005, 10:42

Non il semble que tout soit correct à part peut-être le fait de "calider" une image :langue: .

Si tu es sur IE regarde dans la barre d'état en bas à gauche si tu n'as pas un panneau jaune avec un ! , si oui clique 2 fois dessus pour voir l'erreur

fais aussi un essai avec mozilla et cette fois il faut aller dans outils->Développement Web-> console javascript

Sinon je sèche, je l'ai essayé sur 2 ordi différents et ça fonctionne sur les 2 navigateur :x
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)

Eléphant du PHP | 59 Messages

26 juil. 2005, 11:06

J'ai essayé sur IE et sur firefox -> rien.
Aucun problème signalé par la console javascript. J'ai essayé de mettre la page sur un autre serveur, toujours rien!
Bon, je vais devoir faire autrement, si tu ne sais pas.

Ce n'est pas possible que cela vienne d'un problème de version...?

Merci

Eléphant du PHP | 138 Messages

26 juil. 2005, 11:14

version de ...? php ? navigateur? je l'ai testé sur IE6.0 et mozilla 1.7

sinon tu peux regarder ce script qui correspond aussi à ce que tu veux faire à part qu'il faut cliquer sur des liens pour ajouter ou supprimer un input file

http://www.phpfrance.com/forums/voir_sujet-6294.php
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)

Eléphant du PHP | 59 Messages

26 juil. 2005, 11:51

Je vais essayer d'adapter ce code a mes besoins.
Ce n'est pas exactement ce que je voulais faire mais ça devrait aller.
Merci pour tout. =D>

Mammouth du PHP | 19672 Messages

26 juil. 2005, 11:53

[Résolu] :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 59 Messages

26 juil. 2005, 12:00

Pas encore mais je vais continuer de mon coté!

Eléphant du PHP | 59 Messages

27 juil. 2005, 14:23

J'ai reussi a intégrer la fonction d'ajout et de deletion de champs a mon formulaire mais comme celui-ci est dans un tableau, j'aimerais savoir s'il est possible de modifier cette fonction pour inclure les champs ajouter dans un <tr><td></td></tr>?

Je redonne le code:

Code : Tout sélectionner

function ajouter() { //creation du sous-noeud Input File var elem_input_photo = document.getElementById(\"input_photo\"); var inputF = document.createElement(\"input\"); var br = document.createElement(\"br\"); var typeI = document.createAttribute(\"type\"); typeI.nodeValue = \"file\"; inputF.setAttributeNode(typeI); var nameI = document.createAttribute(\"name\"); nameI.nodeValue = \"photo[]\"; inputF.setAttributeNode(nameI); elem_input_photo.appendChild(br); elem_input_photo.appendChild(inputF); // Incrémentation de la variable nbre_photos nbre_photos++; document.getElementById(\"nbrephotos\").value=nbre_photos; }

Eléphant du PHP | 138 Messages

27 juil. 2005, 15:16

la réponse est dans ton code, les lignes suivantes

Code : Tout sélectionner

var inputF = document.createElement(\"input\"); var br = document.createElement(\"br\");
permettent de créer des balises avec la fonction createElement .

Tu n'as qu'à tester un truc du genre:

Code : Tout sélectionner

var tr = document.createElement(\"tr\"); var td = document.createElement(\"td\");
Mais je pense qu'il faudra modifier les lignes de l'input et du br pour que cela marche.

Regarde ici, tu auras une réponse:
http://fr.selfhtml.org/javascript/objet ... te_element

consulte souvent ce site car tu as énormément d'informations et de scripts qui pourront t'aider.
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)

Eléphant du PHP | 59 Messages

27 juil. 2005, 15:41

Merci pour le lien, Javascript me parait un peu plus clair maintenant.
J'ai fait ça mais sans succes

Code : Tout sélectionner

function ajouter() { //creation du sous-noeud Input File var tr = document.createElement(\"tr\"); var td = document.createElement(\"td\"); var tdF = document.createElement(\"/td\"); var trF = document.createElement(\"/tr\"); var elem_input_photo = document.getElementById(\"input_photo\"); var inputF = document.createElement(\"input\"); var br = document.createElement(\"br\"); var typeI = document.createAttribute(\"type\"); typeI.nodeValue = \"file\"; inputF.setAttributeNode(typeI); var nameI = document.createAttribute(\"name\"); nameI.nodeValue = \"photo[]\"; inputF.setAttributeNode(nameI); elem_input_photo.appendChild(br); elem_input_photo.appendChild(tr); elem_input_photo.appendChild(td); elem_input_photo.appendChild(inputF); elem_input_photo.appendChild(tdF); elem_input_photo.appendChild(trF); // Incrémentation de la variable nbre_photos nbre_photos++; document.getElementById(\"nbrephotos\").value=nbre_photos; }

Faut'iol utiliser : insertCell()

Eléphant du PHP | 138 Messages

27 juil. 2005, 16:49

pourquoi as tu mis \" partout les " simples suffisent.

ensuite quelque erreur as tu? regarde avec le debbuger de mozilla
j'ai fais un essai et ça fonctionne!!!

fais attention à un truc il faut que tu appelles la fonction ajoute() une fois que le div" input_photo" a été créer et pas avant sinon tu as une erreur.
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)

Eléphant du PHP | 59 Messages

28 juil. 2005, 08:42

J'ai mis des \" car j'ai placé ma fonction dans ma page php et donc elle est dans un echo. Il fallait que je desensibilise les ".

Sinon, je n'ai pas de message d'erreur, ça m'insere juste les <br> et pas dans mon tableau!!
<?

echo "
<html>
<head>
<script type=\"text/javascript\">

<!--/*--><![CDATA[//> <!--

var nbre_photos=0;

function ajouter() {

//creation du sous-noeud Input File
var tr = document.createElement(\"tr\");
var td = document.createElement(\"td\");
var tdF = document.createElement(\"/td\");
var trF = document.createElement(\"/tr\");
var elem_input_photo = document.getElementById(\"input_photo\");
var inputF = document.createElement(\"input\");
var br = document.createElement(\"br\");
var typeI = document.createAttribute(\"type\");
typeI.nodeValue = \"file\";
inputF.setAttributeNode(typeI);
var nameI = document.createAttribute(\"name\");
nameI.nodeValue = \"photo[]\";

inputF.setAttributeNode(nameI);
elem_input_photo.appendChild(br);
elem_input_photo.appendChild(tr);
elem_input_photo.appendChild(td);
elem_input_photo.appendChild(tdF);
elem_input_photo.appendChild(td);
elem_input_photo.appendChild(inputF);
elem_input_photo.appendChild(tdF);
elem_input_photo.appendChild(trF);

// Incrémentation de la variable nbre_photos
nbre_photos++;

document.getElementById(\"nbrephotos\").value=nbre_photos;


}

function remove() {
document.getElementById(\"input_photo\").removeChild(document.getElementById(\"input_photo\").lastChild);
document.getElementById(\"input_photo\").removeChild(document.getElementById(\"input_photo\").lastChild);
nbre_photos--;
}


//--><!]]>
</script>

</head>

<body>


<form action=post method=page2.php>

<div id=input_photo></div>

<table>

<tr>
  <td>
    utilisateur
  </td>
   <td>
     <input type=text name_utilisateur>
  </td>
</tr>

<tr>
  <td>
    date
  </td>
   <td>
     
  </td>
</tr>

<tr>
  <td>
     <a href=javascript:ajouter();>Ajouter</a>

     <a href=javascript:remove();>Enlever</a>
  </td>
</tr>

</form>
</table>
</body>
</html>
";

?>

Voila mon code un peu simplifié

:roll:

Mammouth du PHP | 19672 Messages

28 juil. 2005, 09:22

Trop lourd: tu fais interpréter inutilement ton HTML par PHP ce qui ralentit ton application : ferme la balise PHP, mets ton HTML en code normal et r'ouvre ensuite la balise PHP : même à l'intérieur d'une fonction, ce système sera valide.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 59 Messages

28 juil. 2005, 09:55

Merci pour le conseil, je crois que j'ai pas mal de page a retravailler :cry: :cry:
Je vais passer du temps sur les tuto, je crois en avoir besoin!!!


J'ai appliquer ça sur ma page d'upload multiple et elle fonctionne toujours mais pas d'ajout d'input dans mon tableau.

:cry: