Bonjour à tous,
Je suis un nouvel inscrit et après avoir parcourus ce forum en long, en large et en travers, j'ai trouvé que l'aide y était très abondante et pourquoi pas s'investir (autant pour moi que pour les autres !!!!).
Aujourd'hui je viens vers vous car je n'ai pas trouvé de solutions à mon problème. Il se peut meme que je sois le seul à l'avoir
Ce probleme ne survient que sur Firefox.
J'ai un formulaire dans lequel un bouton appelle une fonction javascript qui elle permet d'ajouter autant d'inputs que necessaire à ce formulaire. Une fois ceux ci renseignés, vous validez le formulaire et j'affiche la valeur de chaque input au début de ma page.
Le probleme c'est que sous Firefox seul l'input deja présent dans la page me renvoie sa valeur alors que ceux généré par le javascript ne renvoie pas (ils n'existe meme pas pour firefox).
voici le code de la fonction en javascript:
Voici une partie du code de la page contenant le formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 function addNewCurse(){ divListeCurse = document.getElementById("listeCurse"); Div = document.createElement("div"); newAttach = document.createElement("input"); newAttach.setAttribute("name","newcours[]"); newAttach.setAttribute("type","text"); Div.appendChild(newAttach); remLink = document.createElement("a"); remLink.appendChild(document.createTextNode("Delete")); remLink.setAttribute("href","javascript:void(0)"); remLink.setAttribute("onclick","remAttachment()"); remLink.setAttribute("class","lien"); remLink.setAttribute("className","lien"); //ci dessous on est OBLIGE de mettre la fonction comme ça pour // des raisons de compatibilité IE... remLink.onclick=function(e){ e=e||window.event; //taget = Ff et srcElement = IE var theTarget = e.target || e.srcElement; child = theTarget.parentNode; divListeCurse = document.getElementById("listeCurse"); divListeCurse.removeChild(child); }; Div.appendChild(remLink); divListeCurse.appendChild(Div); //divListeCurse.insertBefore(Div,divListeCurse.childNodes[0]); }
Je vous remercie d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 function cycleAdmin(){ $_SESSION['errorMessage']=''; if (isset($_POST['action'])){ if (!isset($_POST['newcours'])) $_SESSION['errorMessage'].='Veuillez renseigner au moins un nom de cours<br />'; else{ for($i=0; $i<count($_POST['newcours']);$i++) echo $_POST['newcours'][$i]." "; } $html="<table cellpadding=0 cellspacing=0 width=100%> <form action='' method='post'> <input type='hidden' name='part' value='cycle'> <input type='hidden' name='action' value='newcycle'> <tr> <td><div id='listeCurse'><input type='text' name='newcours[]' value=''><input type='button' onclick='addNewCurse();' value='Add an other curse'></div></td> </tr> <tr><td><input type='submit' value='OK'></td></tr> </form> </table>"; return $html; }
PS : Je voudrais quand meme signaler que ce code marche tres bien sous IE alors que la plupart du temps c'est l'inverse, non ???![]()
Partager