Comment ajouter des données dans un fichier en javascript?
Je veux faire un formulaire d'inscription et d'écrire les données dans data.txt à l'aide de ActiveXObject.
Ce que j'écris est
<script type="text/javascript">
function WriteFile()
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fh = fso.CreateTextFile("E:\\Test.txt", true);
x=document.getElementById("name").value;
y=document.getElementById("password").value;
fh.WriteLine(x+"#"+y);
fh.Close();
}
</script>
<BODY>
<form>
<input type="text" id="name"/>
<input type="text" id="password"/>
<input type="button" value="Sign Up" id="write" onclick="WriteFile()"/>
</form>
</BODY>
Quand j'ai essayé de cette façon, chaque fois que je clique sur le bouton inscrivez-vous, les nouvelles données remplacent les données précédentes. J'ai essayé d'utiliser fh.AppendLine(x + "#" + y)
mais il ne fonctionne pas.
Quelqu'un pourrait-il m'aider comment faire pour ajouter des données, de ne pas remplacer les données?
- c'est vraiment une mauvaise idée
- C'est seulement possible c'est à dire dans une zone de confiance, pourquoi voulez-vous écrire dans un fichier?
- Pourquoi tu fais ça? Vous savez qu'il ne fonctionne que sur IE droit?
- Yap, il ne fonctionne que sous IE. C'est mon collège de tâches, donc je dois le faire de cette façon.. quelqu'un sait comment ajouter des données à ne pas remplacer?
- pouvez-vous me dire ce collège, c'est que donc, je peux arrêter n'importe qui que je sais d'assister à jamais?
- J'ai fait des cours sur le web. donc, ils m'ont enseigné de base (tels que vbscript, javascript, activeX) alors la prochaine est en avance (php, jsp)
- Je comprends, mais comme un professeur de collège de moi-même, je ne pense pas que quiconque devrait jamais enseigner VBScript jamais.
- Donc, tous les ASP classique n'est pas pertinent et tous les anciens systèmes doivent être ignorées?
- Oui, haha. Mais permettez-moi de reformuler. Je ne pense pas que quiconque devrait jamais enseigner côté client VBScript. Jamais.
- Je veux dire, en toute équité, client face VBscript est très très proche côté serveur VBscript et il est beaucoup plus facile à utiliser client face VBscript que de configurer un classique ASP serveur sur n'importe quel ordinateur que vous souhaitez développer sur. ;p
- oui, c'est vrai. Mais je ne pense pas qu'il donne à l'étudiant le droit, l'expérience et les concepts, en particulier ceux qui débutent dans le web. À tout le moins, leur apprendre le JavaScript et le PHP / ASP.NET tout d'abord, et quand ils ont une bonne compréhension de celui-ci, vous pouvez leur montrer VBScript. Le fait qu'il est utilisé à la fois côté client et côté serveur peut être très déroutant pour les novices.
Vous devez vous connecter pour publier un commentaire.
Avertissement Vous ne devez jamais utiliser ces fonctions. Ils ne fonctionnent que sous IE, et sont horribles.
Je pense que votre problème vient de l'utilisation de
CreateTextFile
. Vous devriez plutôt utiliserOpenTextFile
avec le second jeu de paramètres à8
. Qui permettra d'ajouter.J'ai fait des trucs comme ça il y a longtemps... (quand j'ai été en utilisant windows) je pense que c'est parce que vous êtes en remplaçant le fichier avec un nouveau fichier avec
CreateTextFile
ainsi, si le fichier existe déjà, vous aurez besoin de faire cela:CreateTextFile overrwrites le fichier en cours, je pense.
Vous devez utiliser FileExists pour vérifier sa présence avant de la créer.
Si elle n'existe pas, vous pouvez utiliser OpenTextFile.
Voici pertinentes la documentation
Utilisation OpenTextFile méthode à créer drapeau et ForAppending plutôt le mode de
CreateTextFile
.Cependant, faire comprendre, que vous n'êtes pas seulement de te limiter à une très vieille version de IE et à l'intérieur de la zone de confiance, mais vous êtes aussi en laissant des fichiers sur disques locaux, pas sur votre serveur. Pour cette raison, vous ne pouvez pas faire n'importe quoi avec cette "données d'inscription".
utilisation
("E:\\Test.txt", 8);
. 8 est un mode à ajouter.et donc, je me demandais si vous rencontrez les mêmes devoirs que moi ou pas, puisque je vais avoir le même problème, mais je suis coincé dans le
AvtiveXObject
lignealert
sur chaque ligne et le code s'arrête juste avant que.. peut-être que c'est à cause de mon navigateur.. mais encore une fois, je ne sais pas.. :/ActiveXObject
ligne et il fonctionne.o.o le code est le même que le mien bien, lol