Bonjour,
Voilà j'ai un petit souci pour envoyer un formulaire via une fonction.
Dans un premier temps ma fonction exécute un traitement php (qui génère un xml avec toute les données du formulaire) puis ensuite elle doit envoyer un message qui confirme ou non que le traitement a bien été exécuté.
voici mon code :
setXml.php
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <script type='text/JavaScript'> function setxml(ET){ $.ajax( type: "POST", url: "setXml.php?Id_ET="+ET, success:function(data) { if(data==0) { alert('Les paramètres ont bien été envoyés'); } else { alert('Une erreur est survenue, les paramètres n\'ont pas été envoyés'); } } ); document.Form2.submit(); } </script> <form name="Form2" method="post"> <table> <tr> <td class="blockContent">Numéro d'usine de l'ET</td> <td class="blockContent"><input type="text" name="InputET" value="<?php echo $ET; ?>" /> </tr> <tr> <td class="blockContent">ID Agent</td> <td class="blockContent"><input type="text" name="InputIdAgent" value="<?php echo $Id_Agent; ?>" /> </tr> <tr> <td class="blockContent">Ville</td> <td class="blockContent"> <input type="text" name="InputVille" value="<?php echo $Ville; ?>" /></td> </tr> <tr> <td class="blockContent">CP</td> <td class="blockContent"> <input type="text" name="InputCP" value="<?php echo((float)$CP); ?>" /></td> </tr> <tr> <td class="blockContent">Mode</td> <td class="blockContent"> <input type="text" name="InputMode" value="<?php echo $Mode; ?>" /></td> </tr> <tr height="65px"> <td class="blockContent" colspan="4" align="center"> <a href="#" onclick="javascript:setxml('<?php echo $Id_ET; ?>');">envoyer</a></td> </tr> </table> </form>
Je souhaite en fait éviter tout rafraichissement. Et actuellement lorsque je clique sur "Envoyer" mon fichier xml est bien crée, j'ai bien le message qui confirme que le traitement a bien été effectué, mais les balises de mon xml sont vides comme si rien n'était passé par le POST.
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 <?php $dom = new DomDocument; $dom->load('xml/test2.xml'); $listeCA=$dom->getElementsByTagName('ET'); foreach($listeET as $ET) $CA->nodeValue=$_POST['InputET']; $listeIdAgent=$dom->getElementsByTagName('Id_Agent'); foreach($listeIdAgent as $idAgent) $idAgent->nodeValue=$_POST['InputIdAgent']; $listeVille=$dom->getElementsByTagName('Ville'); foreach($listeVille as $ville) $ville->nodeValue=$_POST['InputVille']; $listeVille=$dom->getElementsByTagName('CP'); foreach($listeCP as $CP) $ville->nodeValue=$_POST['InputCP']; $listeVille=$dom->getElementsByTagName('Mode'); foreach($listeMode as $Mode) $ville->nodeValue=$_POST['InputMode']; $dom->save('xml/$_POST['ET'].xml'); ?>
A noté que ma fonction setXml.php fonctionne si je ne passe pas par la fonction javascript pour l'éxécuter donc le souci viens bien du javascript.
merci pour vos réponse![]()
Partager