Bonjour,
j'ai un fichier xml qui contient des noeud <contact> ,enveleppés dans un seul noeud racine <contacts>
et j'ai une page qui affiche cette liste.
j'ai mis en place un petit champ <input type="text">
avec un petit bouton ,ce petit formulaire me permet
d'ajouter un noeud dans le fichier xml.
le probleme,je veux savoir s'il y a moyen de me passer
d'un formulaire (juste recuperer la valeur de l input et appeler a Onclick
la methode ajax correspondante)
et si un formulaire est necessaire , comment je pourrais envoyer les données
vers ma methode js.
j'ai vu des tutos, en general ils mettent xhr.open("post","xxxx.php",true)
mais moi je n'ai pas besoin d'un fichier php pour traiter ma requete
Ajax peut la modifier directement
j'ai deja essayé ceci mais ca ne marche pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form name="add_con" id="add_con" action="" method="GET"> <input id="user" name="user" type="text" size="15"> <input type="submit" value="+" OnClick="addContact()"> </form>j'ai deja testé avec
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 function addContact() { var xhr=null; if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else if (window.ActiveXObject) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } var user = document.getElementById("user").value; //on définit l'appel de la fonction au retour serveur xhr.onreadystatechange = function() { add_c(xhr,user); }; //on appelle le fichier xml xhr.open("GET", "abcd.xml", true); xhr.send(null); } function add_c(xhr,user) { if (xhr.readyState==4) { var docXML= xhr.responseXML; var items = docXML.getElementsByTagName("contacts") ; newel=docXML.createElement('contact'); newtext=xmlDoc.createTextNode(user); newel.setAttribute("status","0"); newel.appendChild(newtext); items[0].appendChild(newel); } }
mais ca n'a rien changé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 xhr.open("POST", "abcd.xml", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send("user="+user);
Merci si qqn peut m'aider
Partager