我正在尝试从html表单写入文件,但是javascript的写入部分没有任何作用。
似乎只有脚本的验证部分在工作。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<script LANGUAGE="JavaScript">
function Write(input1, input2)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.OpenTextFile("C:\test.txt", true);
s.WriteLine(input1 + "," + input2);
s.Close();
}
function validateForm() {
var x1=document.userform.pwd.value;
var x2=document.userform.re_pwd.value;
if (x2 == x1){
Write(document.userform.user.value, document.userform.pwd.value);
}
else{alert("Passwords are not the same, Re-enter password");}
}
</SCRIPT>
<head>
<link rel="stylesheet" href="css/screen.css" media="screen" />
</head>
<body>
<div id="container">
<h2>Create a new account <?php echo "It works!"; ?></h2>
<form id="form1" NAME="userform" METHOD="GET" ONSUBMIT="return validateForm()" ACTION="">
<fieldset><legend>Create a new Account</legend>
<p class="first">
<label for="username">Username</label>
<input type="text" name="user" size="30" />
</p>
<p>
<label for="password">Password</label>
<input type="password" name="pwd" size="30" />
</p>
<p>
<label for="repassword">Re-enter Password</label>
<input type="password" name="re_pwd" size="30" />
</p>
</fieldset>
<p class="submit"><button type="submit" value="Submit">Signup</button></p>
</form>
</div>
</body>
</html>
我拿出了我的通用.HTA
读/写例程,并将它们放在这里。
- 删除
XHTML
内容并切换到HTML 5 doctype
- 已清理标记以符合
HTML5
- 修正了输入中
ID
的问题。label
元素按ID匹配,而不是按名称匹配 - 在表单中添加了
return false
一般说明:
- 只有构造函数应该以大写字母开头
- 必须使用
.HTA
文件名保存 - 不用说,这只是
windows
<!doctype html>
<html>
<script>
var ie_writeFile = function (fname, data) {
var fso, fileHandle;
fso = new ActiveXObject("Scripting.FileSystemObject");
fileHandle = fso.CreateTextFile(fname, true);
fileHandle.write(data);
fileHandle.close();
};
var ie_readFile = function (fname) {
try {
fso = new ActiveXObject("Scripting.FileSystemObject");
var fso, filehandle, contents;
filehandle = fso.OpenTextFile(fname, 1);
contents = filehandle.ReadAll();
filehandle.Close();
return contents;
} catch (err) {
return null;
}
};
function Write(input1, input2)
{
var s = input1 + "," + input2;
ie_writeFile("test.txt", s);
}
function validateForm() {
var x1=document.userform.pwd.value;
var x2=document.userform.re_pwd.value;
if (x2 == x1){
Write(document.userform.user.value, document.userform.pwd.value);
}
else{alert("Passwords are not the same, Re-enter password");}
}
</script>
<head>
<link rel="stylesheet" href="css/screen.css" media="screen">
</head>
<body>
<div id="container">
<h2>Create a new account <?php echo "It works!"; ?></h2>
<!-- return false added to keep the form from reloading -->
<form id="form1" NAME="userform" METHOD="GET" ONSUBMIT="return validateForm();return false" ACTION="">
<fieldset><legend>Create a new Account</legend>
<p class="first">
<label for="username">Username</label>
<input type="text" name="user" id="user" size="30">
</p>
<p>
<label for="pwd">Password</label>
<input type="password" name="pwd" id="pwd" size="30" />
</p>
<p>
<label for="repassword">Re-enter Password</label>
<input type="password" name="repassword" id="repassword" size="30" />
</p>
</fieldset>
<p class="submit"><button type="submit" value="Submit">Signup</button></p>
</form>
</div>
</body>
</html>