Javascript写入文本文件

时间:2016-08-24 12:43:05

标签: javascript html

我正在尝试从表单中获取输入并将其保存到与html文件位于同一文件夹中的文本文件中。这就是我到目前为止所做的:

<!doctype html>

<html lang="en">
<head>
	<meta charset="utf-8">

	<title>Reservation</title>
	<meta name="description" content="The HTML5 Herald">
	<meta name="author" content="SitePoint">

	<link rel="stylesheet" href="css/styles.css?v=1.0">

  	<script>
		function writeToFile(item, name, time)
		{
			alert("Hello " + item);
			var fso = new ActiveXObject("Scripting.FileSystemObject");
			var fh = fso.OpenTextFile("E:/labChart/etc/reserve.text", 8);
			fh.WriteLine(item);
			fh.Close();
		}

		function readFile()
		{
			var fso = new ActiveXObject("Scripting.FileSystemObject");
			var fh = fso.OpenTextFile("reserve.text", 1, false, 0);
			var lines = "";
			while (!fh.AtEndOfStream) {
				lines += fh.ReadLine() + "\r";
			}
			fh.Close();
			return lines;
		}
	</script>
    </head>
	<body>
		Reservation
	  	<br>
	  	<form>
		  	  Item:
		  	  <br>
			  <input type="text" name="item" id="item">
			  <br>
			  Name:
			  <br>
			  <input type="text" name="name" id="name">
			  <br>
			  Time:
			  <br>
			  <input type="date" name="time" id="time">
			  <br>
			  <br>
			  <input type="submit" value="Submit" onclick="writeToFile(document.getElementById('item').value, document.getElementById('name').value, document.getElementById('time').value)">
		</form>
  		<script src="js/scripts.js"></script>
	</body>
    </html>

这确实从“item”获取信息并将其传递给函数writeToFile(),因为测试警报确实有效。但每当我检查文件reserve.text时,都没有写入。我是javascript的新手,大多数是代码的合并,我看到其他人在网上使用类似的效果。有谁知道它为什么不起作用?我错误地写了这条路吗?我没有正确编写脚本吗?

2 个答案:

答案 0 :(得分:7)

这个问题很简单:让我们说开发人员创建了javascript代码来遍历所有文件系统并用虚拟文件填充它,在这个过程中破坏你的硬盘?这就是为什么javascript不允许你做这种操作的原因。当我们想要保存信息时,通常是使用服务器端代码而不是客户端计算机完成的(当然,除非我们讨论像cookie这样的事情)。

我的回答是让你重新思考谁在拯救和拯救。它应该由服务器来保存和保留用户的任何信息,因此你不会编写这种javascript代码...最好将数据保存在客户端无法控制或编辑的地方,比如在服务器上实例。

我可以建议一些简单的PHP代码,而不是存储在文本文件中,尝试数据库... PHP是一种服务器端语言,可以将内容保存到服务器计算机上的文件中,但是服务器必须能够运行PHP,大多数计算机都没有内置PHP语言,所以你还需要一个内置php的网络服务器..

答案 1 :(得分:0)

在我看来,你的整个方法都很糟糕;你需要学习PHP和mySQL来存储和加载持久数据。 - 编辑:从JavaScript访问文件系统存在巨大的安全风险,因此一般情况下不允许这样做。除非您的目标是专门从JS编写文件,否则有更好的选择。

无论如何,此代码仅适用于Internet Explorer,并且只能以安全设置方式运行。你不应该追求这个。

如果您的最终目标是编写一个存储和显示预订的Web应用程序,请获取XAMPP并找到初学PHP +数据库教程。