Bonjour,
Je recherche un script ou un exemple qui permettrait lorsque l'on clic sur un bouton, d'exporter le contenu d'une div (texte) dans un .txt.
Merci pour votre aide,
Cordialement








Bonjour,
Je recherche un script ou un exemple qui permettrait lorsque l'on clic sur un bouton, d'exporter le contenu d'une div (texte) dans un .txt.
Merci pour votre aide,
Cordialement








Tu aurais un exemple de code?
C'est la base même d'AJAX ^^
pour simplifier et tester le principe, mettons que tu aies ça dans ta page:
tu ajoutes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <textarea id="zone"> Zone plus ou moins dynamique, pas grave. </textarea> <p> <input type="button" value="envoi" onclick="mess(document.getElementById('zone').value)" /> </p>
tu crées une page ajax.inc.php qui contient:
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 <script type="text/javascript"> function mess(txt){ try{ arg="texte="+escape(txt); alert(arg) req = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); req.open("POST", "ajax.inc.php", true); req.setRequestHeader("Content-type", "application/x-www-form- urlencoded"); req.send(arg); } catch(i){ alert("Petit souci de connexion...\nVeuillez réessayer."); }; } </script>
tu crées une page vide fichier.txt.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $texte=$_POST['texte']; $fp = fopen ("fichier.txt", "a"); fputs ($fp, stripslashes($texte)); fclose ($fp); ?>
tu testes le bazar;








Tout d'abord merci pour tes explications.
j'ai l'erreur suivante :
"mess is not defined"
Tu as une idée du problème?
Bonjour, est ce que tu as mis le code javascript dans la partie <head></head> de ton fichier comme par exemple :
Bonne continuation!
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 <html> <head><title>Div vers fichier texte</title> <script type="text/javascript"> function mess(txt){ try{ arg="texte="+escape(txt); alert(arg) req = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); req.open("POST", "ajax.inc.php", true); req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); req.send(arg); } catch(i){ alert("Petit souci de connexion...\nVeuillez réessayer."); }; } </script> </head> <body> <textarea id="zone"> Zone plus ou moins dynamique, pas grave. </textarea> <p> <input type="button" value="envoi" onclick="mess(document.getElementById('zone').value)" /> </p> </body> </html>








J'ai fait cela:
il y a du xsl parce que j'affiche dans ma page des données xml. (ce sont ses données xml que j'aimerais exporter dans notepad)
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
53
54 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> <xsl:template match="/"> <html> <head> <script type="text/javascript" src="scriptjavascript.js"></script> <title> </title> </head> <body> <center> <table border="1" style="border-collapse: collapse" width="80%"> <tr><td bgcolor="#DBC1EC"><center><b><font size="5">Test</font></b></center></td></tr> </table> </center> <br/> <center> <FIELDSET style="width:360px;"> <LEGEND align="top"> <b>Actions possibles : </b></LEGEND> <form> <input type="button" value="envoi" onclick="mess(document.getElementById('tests').value)" /> <input type="submit" value="Save as .txt" /> <input type="submit" value="Send by email" /> </form> </FIELDSET> </center> <br/> <div id="tests"> <xsl:for-each select="//testcase"> <xsl:for-each select="node"> <xsl:for-each select="transition"> <xsl:for-each select="input"> <xsl:value-of select="@name"/> "<xsl:value-of select="dvalue/@value"/><xsl:for-each select="dvalue/dvalue"><xsl:value-of select="@value"/>","</xsl:for-each>" <br/> </xsl:for-each> <xsl:for-each select="expresultauto"> <xsl:value-of select="@name"/><br/> </xsl:for-each> </xsl:for-each> </xsl:for-each><br/> </xsl:for-each> </div> </body> </html> </xsl:template> </xsl:stylesheet>
Et c'est dans scriptjavascript.js que j'ai mis le code de la fonction:
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 function mess(txt){ try{ arg="texte="+escape(txt); alert(arg) req = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); req.open("POST", "ajax.inc.php", true); req.setRequestHeader("Content-type", "application/x-www-form- urlencoded"); req.send(arg); } catch(i){ alert("Petit souci de connexion...\nVeuillez réessayer."); }; }
Et ton problème persiste encore?
edit :
Tu peux montrer comment est ton xml?
Merci








Oui j'ai l'erreur que j'ai mentionnée plus haut.
"mess is not defined"
Aucune fenêtre ne s'ouvre au clic bouton.
Voici un bout du code xml:
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 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="script.xsl" type="text/xsl"?> <TST> <TSTProp idprofile="P7" idum="1" profile="FewOnHold" tccovrequirementinlibrary="50.00 %" tsalgo="user oriented - 5 test case(s)" tscovevent="79.17 %" tscovitem="77.14 %" tscovobject="85.71 %" tscovrequirementinmodel="75.00 %" tsdatetime="17 Dec 2010 - 11:00:15" tsformat="3.8" tsname=".\TestSuites\tests.xml" typeprofile="usage" typetsalgo="user oriented" umname="\Version1\MyIC_SIP.mcm" umversion=""> <subUM id="2" name="\Version1\MyIC_InitConfig.mcm"/> </TSTProp> <suite pathRcts=".\TestSuites\tests.rcts"> <testcase id="1" pathRctc=".\TestSuites\tests_1.rctc" tccovevent="58.33 %" tccovitem="42.86 %" tccovobject="76.19 %" tccovrequirementinlibrary="16.67 %" tccovrequirementinmodel="25.00 %"> <node id="1" keypath="0" name="\Version1\MyIC_SIP.mcm"> <transition from="S9998" id="T1" name="" objectcomment="before Application start" statename="Invoke" step="1" to="S9998"/> </node> <node id="2" keypath="1" name="\Version1\InitConfig.mcm"> <transition from="S9998" id="T1" name="" statename="Invoke" step="2" to="S1"/> <transition from="S1" id="T2" name="in_InitOption" statename="initOptions" step="3" to="S2"> <input id="1" name="in_InitOption"> <dvalue ntype="NoParameters" type="charstring" value="NoParameters"/> </input> </transition>
Bonjour
<input type="button" value="envoi" onclick="mess(document.getElementById('tests').value)" />Un div n'a pas d'attribut value<div id="tests">, utilise innerHTML.
PS: sur le forum javascript, le code HTML généré serai le bienvenue plutôt que ton xsl.
A+.








J'ai remplacé value par innerhtml mais ça ne donne toujours rien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input type="button" value="envoi" onclick="mess(document.getElementById('tests').innerHTML)" />
T'as mis quoi dans ton onreadystatechange ?![]()
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
1-Tu ne récupères pas la valeur retournée par la requête Ajax dans un onreadysteatechange.
2-Montre nous le HTML généré mais pas le xsl








Le problème est que lorsque je clique sur la page généré, et que je demande le code source, j'ai le contenu du document xml de départ et non pas le code html de la page générée.








Oui mais je ne sais pas comment faire pour utiliser cette méthode?
le tutorielhttp://siddh.developpez.com/articles/ajax/#LIII








J'ai mis le code que vous m'avez indiqué mais je n'ai toujours rien au clic bouton:
Le code de script.xsl:
scriptjavascript.js:
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
53
54 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> <xsl:template match="/"> <html> <head> <script type="text/javascript" src="scriptjavascript.js"></script> <title> </title> </head> <body> <center> <table border="1" style="border-collapse: collapse" width="80%"> <tr><td bgcolor="#DBC1EC"><center><b><font size="5">Test</font></b></center></td></tr> </table> </center> <br/> <center> <FIELDSET style="width:360px;"> <LEGEND align="top"> <b>Actions possibles : </b></LEGEND> <form> <input type="button" value="envoi" onclick="go()" /> <input type="submit" value="Save as .txt" /> <input type="submit" value="Send by email" /> </form> </FIELDSET> </center> <br/> <div id="tests"> <xsl:for-each select="//testcase"> <xsl:for-each select="node"> <xsl:for-each select="transition"> <xsl:for-each select="input"> <xsl:value-of select="@name"/> "<xsl:value-of select="dvalue/@value"/><xsl:for-each select="dvalue/dvalue"><xsl:value-of select="@value"/>","</xsl:for-each>" <br/> </xsl:for-each> <xsl:for-each select="expresultauto"> <xsl:value-of select="@name"/><br/> </xsl:for-each> </xsl:for-each> </xsl:for-each><br/> </xsl:for-each> </div> </body> </html> </xsl:template> </xsl:stylesheet>
Et j'ai même éssayer avec ajax.php comme dans l'exemple et je n'ai toujours pas de fenêtre qui s'affiche. J'ai l'impression que le code html dans du xsl c'est pas le top..
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 function getXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr } /** * Méthode qui sera appelée sur le click du bouton */ function go(){ var xhr = getXhr() // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ alert(xhr.responseText); } } xhr.open("GET","C:\\WINDOWS\\Notepad.exe",true); xhr.send(null); }
J'ai l'erreur suivante avec la console de debug javascript de firefox:
Erreur*: uncaught exception: [Exception... "Component returned failure code: 0x805e000a [nsIXMLHttpRequest.open]" nsresult: "0x805e000a (<unknown>)" location: "JS frame :: file:///C:/Users/Test/Desktop/Parser/scriptjavascript.js :: go :: line 41" data: no]
xhr.open("GET","C:\\WINDOWS\\Notepad.exe",true);
C'est le fichier php que tu appelles sur le serveur que tu dois mettre dans l'URL.
Ton ancien code est proche de ton besoin que ce dernier, sauf que tu dois seulement ajouter le traitement de retour avec le onreadystatechange.
Partager