Compataibilté JS et Firefox

Eléphant du PHP | 59 Messages

12 janv. 2006, 18:50

Hello tout le monde,

Comme vous vous en doutez, j'ai un petit probleme.

J'ai une fonction javascript qui me permet d'ajouter ou d'enlever des input pour faire un upload multiple. Ma fonction fonctionnait jusqu'ici tres bien sauf que depuis que je suis passé sous firefox 1.5, elle ne marcche plus... Je n'ai aucune erreure javascript dans la console JS et j'ai d'autre fonction JS qui continue de marcher..

Quelqu'un aurait une idée pour resoudre ce probleme?

Code : Tout sélectionner

<script language="JavaScript" type="text/javascript"> var nbre_photos=0; 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; } 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>
Appel de la fonction



Code : Tout sélectionner

<legend>Photo</legend> <label><a href=javascript:ajouter();>Ajouter un input</a><br /> <a href=javascript:remove();>Enlever le dernier input</a><br /> <div id=input_photo></div> </label><br />

Mammouth du PHP | 19672 Messages

12 janv. 2006, 19:54

Je viens de tester sous Firefox 1.5, ça fonctionne très bien chez moi. Le seul tout petit détail que j'ai relevé, c'est que tu as mis :
<div id=input_photo></div>
au lieu de
<div id="input_photo"></div>
Mais sinon, rien de spécial.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 59 Messages

13 janv. 2006, 16:23

J'ai pas trop le temps de tester mais apparement le problème venait bien des guillemets...
Moi qui est tendance a les oublier, je risque d'avoir d'autre suprise. J'attend de verifier avant de mettre résolu.

Si, je me demandais s'il était possible d'enlever le lien 'ajouter' et que la fonction ajouter soit appelée une fois l'input rempli?

Mammouth du PHP | 19672 Messages

13 janv. 2006, 17:58

Oui, ça peut se faire avec un évènement JavaScript:
<p><input type="text" name="mon_champ1" id="mon_champ1" value="" onblur="if(this.value != ''){document.getElementById('monlien1').style.display='inline';}" />
<a href="./page/de/destination.php" id="monlien1" title="Ajouter" style="display: none">Ajouter</a></p>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 59 Messages

15 janv. 2006, 23:42

Merci pour tout, ça fonctionne nickel... :D