Bouton sauvegarder

Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 - 3 avril 2007 à 19:33
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 - 9 avril 2007 à 19:47
Bonjour,

Je recherche un exemple de code source permettant de sauvegarder le contenu d'un textarea dans un fichier HTML. J'ai regardé un peu les exemples de sources FCKEDITOR, tinymce qui possèdent des bouton sauvegarder mais qui ne permet pas de sauvegarder le contenu dans du textarea dans un fichier.
Si quelqu'un peu me donner quelques tuyaux ça serait bien.

Merci.

Jarod_Delaware

23 réponses

stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
3 avril 2007 à 19:55
Bonjour, il faut utiliser l'ActiveX dans ce cas.
<textarea id="texte">

</textarea>
<script>
var otf=new ActiveXObject("Scripting.FileSystemObject").OpenTextFile("tonfichier.html", 2, true);
otf.Write(document.getElementById("texte").value);
otf.Close()
</script>

<hr /><hr />
Stfou
0
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
3 avril 2007 à 21:31
Salut STFOU,

Merci beaucoup pour ta réponse. Je vais tester ton code. Je te tiens au courant.
Encore merci.

Jarod_Delaware
0
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
3 avril 2007 à 22:32
J'ai testé ton code, par contre, est ce qu'il est possible de le mettre dans un bouton afin que l'utilisateur puisse décider d'enregistrer ou pas. Je voulais savoir si il est possible de laisser le choix à l'utilisateur de choisir le nom de son fichier comme par exemple l'ouverture de la fenetre "Enregistrer sous...". Est ce que c'est de l'activeX?
Merci

Jarod_Delaware
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
4 avril 2007 à 08:41
Oui, il y a une fenetre spéciale, la même que dans paint par exemple lorsque l'on clique sur "enregistrer sous" et oui, c'est de l'activeX :

var object = new ActiveXObject("Shell.Application");
path = object.BrowseForFolder(0, "Choississez le répertoire de destination", 0x0001+0x0002,0);
if (path) path = this.Items().Item().Path;

Cela te retournera une chaine de caractère contenant le chemin du fichier

<hr /><hr />
Stfou
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
4 avril 2007 à 18:56
Salut,
Merci STFOU pour ta réponse, je vais tester ça.

Jarod_Delaware
0
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
5 avril 2007 à 19:16
Salut,
J'ai pas très bien compris comment intégrer le morceau de code que tu m'as posté. En fait, ce que j'ai c'est un textarea où l'user peut créer sa page (c'est un genre de tinyMCE). Une fois que l'utilisateur a fini son sa page HTML, je voudrais qu'il click sur un bouton save par exemple et que ça sauve sa page.htm. Je suis un peu perdu, vu mes connaissances en javascript. Pourrais tu m'aider svp?

Merci.

Jarod_Delaware
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
6 avril 2007 à 20:36
Bonsoir, tout simplement tu utilise le chemin trouvé pour ecrire dans le fichier (source de bultez pour le commondialog) :




<script>
function Enregistrer_sous()
{
CommonDialog.Title="Ecrire dans un Fichier";
 CommonDialog.Flags=2630148;
 CommonDialog.Filename="";
 CommonDialog.ShowSave();
 if (CommonDialog.Filename.length>0)
         path=CommonDialog.Filename;
    else path="";
var otf=new ActiveXObject("Scripting.FileSystemObject").OpenTextFile(path+.".htm", 2, true);
otf.Write(document.getElementById("texte").value);
otf.Close()
}
</script>
<OBJECT NAME="CommonDialog" ID="CommonDialog"
        CLASSID="CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</OBJECT>













<hr />



<hr />
<sup>
STFOU
</sup>
0
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
7 avril 2007 à 11:40
SUPER STFOU!

Merci beaucoup pour ton aide précieuse. Je vais tester ce que tu m'as posté. Je pense que c'est exactement ce que je veux.
Merci beaucoup.
@+

Jarod_Delaware
0
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
7 avril 2007 à 11:54
Salut,

J'ai testé le code, par contre, je n'arrive pas à rentrer dans la CommonDialog. Elle reste en gris. J'ai pourtant activé les activeX dans mon navigateur IE. Est ce que tu aurais une idée?

Merci encore pour ton aide.
Jarod_Delaware
0
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
7 avril 2007 à 13:16
Quand je click sur mon boutton sauvegarder, il ne se passe rien. En bas de mon IE c'est marqué erreur.

<html>
<head>
<title>test</title>
</head>

<textarea id="texte">

</textarea>

<script>
function Enregistrer_sous()
{
CommonDialog.Title="Ecrire dans un Fichier";
 CommonDialog.Flags=2630148;
 CommonDialog.Filename="";
 CommonDialog.ShowSave();
 if (CommonDialog.Filename.length>0)
         path=CommonDialog.Filename;
    else path="";
var otf=new ActiveXObject("Scripting.FileSystemObject").OpenTextFile(path+.".htm", 2, true);
otf.Write(document.getElementById("texte").value);
otf.Close()
}
</script>

<OBJECT NAME="CommonDialog"
 ID="CommonDialog"
        CLASSID="CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB">
 
 
 
 
 
 
 
 
 
</OBJECT>

</html>

Jarod_Delaware
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
7 avril 2007 à 16:21
Bonjour,
path+".htm"
et non

path+

.


"htm"
(Faute de frappe.)
Et où est l'erreur ?
Essaie aussi de le mettre dans un fichier ".hta".







<hr />



<hr />
<sup>
<sub>
STFOU
</sub>
</sup>
0
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
7 avril 2007 à 18:11
yo,
J'ai corrigé, merci. Par contre, ça marche toujours pas. Lorsque je clique sur le bouton sauvegarder, il ne se passe rien. J'ai toujours en bas de mon navigateur IE, erreur sur la page. Je pense que ça doit venir de l'object name. Mais j'en suis pas sûr.

Jarod_Delaware
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
7 avril 2007 à 19:05
Bonjour, eh bien regarde la console d'erreur (tu double-clique sur "erreur dans la page", tu clique sur détails et tu me dis.)

<hr /><hr />STFOU
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
7 avril 2007 à 19:07
Euh au fait, as-tu mis le fichier en .hta ?

<hr /><hr />STFOU
0
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
7 avril 2007 à 19:46
Salut,
Voila l'erreur que j'ai :
Ligne : 20
Car : 2
Erreur : Cet objet ne gère pas cette propriété ou cette méthode
Code : 0

j'ai renommais mon fichier.htm en .hta mais ça génère toujours la même erreur.

Jarod_Delaware
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
7 avril 2007 à 20:41
Tu as retiré des paramètres dans la balise <OBJECT>. remet-les tous, ça pourrait être ça...

<hr /><hr />STFOU
0
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
8 avril 2007 à 11:15
Salut,

J'ai rajouté toutes les balises OBJECT mais la même erreur :

Ligne : 20
Car : 2
Erreur : Cet objet ne gère pas cette propriété ou cette méthode
Code : 0

Apparemment, la ligne correspond dans le code à la ligne : CommonDialog.ShowSave();

Je comprends plus rien. Il n'exite que cette methode pour sauvegarder. Si tu as une idée parce que là je suis complètement perdu.

<html>
<head>
<title>test</title>
</head>

<textarea id="texte">

</textarea>

<script>
function Enregistrer_sous()
{
 CommonDialog.Title="Ecrire dans un Fichier";
 CommonDialog.Flags=2630148;
 CommonDialog.Filename="";
 CommonDialog.ShowSave();
 if (CommonDialog.Filename.length>0){
         path=CommonDialog.Filename;}
    else {path="";}
var otf=new ActiveXObject("Scripting.FileSystemObject").OpenTextFile(path+".htm", 2, true);
otf.Write(document.getElementById("texte").value);
otf.Close()
}
</script>

<OBJECT NAME="CommonDialog" ID="CommonDialog"
        CLASSID="CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</OBJECT>

</html>

Jarod_Delaware
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
9 avril 2007 à 11:23
Essaie avec CommonDialog.ShowOpen().

<hr /><hr />STFOU
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
9 avril 2007 à 11:29
Sinon, toute autre solution, tu utilise execCommand Avec une popup :
<textarea id="textarea">

</textarea>
<script>
popup=window.open();
popup.blur();
window.self.focus();
popup.document.write(document.getElementById("textarea").value);
popup.document.execCommand('SaveAs','true','c:\\temp\\monfichier.txt');
popup.close();
</script>

<hr /><hr />STFOU
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
9 avril 2007 à 11:30
Bonne chance

<hr /><hr />STFOU
0
Rejoignez-nous