Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
html中的Javascript写入文件_Javascript_Html_File - Fatal编程技术网

html中的Javascript写入文件

html中的Javascript写入文件,javascript,html,file,Javascript,Html,File,我试图从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 LANGU

我试图从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>

函数写入(输入1、输入2)
{
var fso=新的ActiveXObject(“Scripting.FileSystemObject”);
var s=fso.OpenTextFile(“C:\\test.txt”,true);
s、 写线(输入1+“,”+输入2);
s、 Close();
}
函数validateForm(){
var x1=document.userform.pwd.value;
var x2=document.userform.re_pwd.value;
如果(x2==x1){
编写(document.userform.user.value,document.userform.pwd.value);
}
else{alert(“密码不相同,请重新输入密码”);}
}
创建新帐户
创建新帐户

用户名

密码

重新输入密码

注册


我拿出我的常规
.HTA
读/写例程,把它们放在这里

  • 删除了
    XHTML
    内容并切换到
    html5doctype
  • 已清理标记,使其符合HTML5标准
  • 修复了输入中的
    ID
    标签
    元素按ID匹配,而不是按名称匹配
  • 在表单中添加了一个
    返回false
一般说明:

  • 只有构造函数应该以大写字母开头
  • 必须使用
    .HTA
    文件名保存此文件
  • 不用说,这只是
    windows


var ie_writeFile=函数(fname,data){
var-fso,fileHandle;
fso=新的ActiveXObject(“Scripting.FileSystemObject”);
fileHandle=fso.CreateTextFile(fname,true);
fileHandle.write(数据);
fileHandle.close();
};
变量ie_readFile=函数(fname){
试一试{
fso=新的ActiveXObject(“Scripting.FileSystemObject”);
var fso、文件句柄、内容;
filehandle=fso.OpenTextFile(fname,1);
contents=filehandle.ReadAll();
filehandle.Close();
返回内容;
}捕捉(错误){
返回null;
}
};
函数写入(输入1、输入2)
{
var s=输入1+“,”+输入2;
ie_writeFile(“test.txt”,s);
}
函数validateForm(){
var x1=document.userform.pwd.value;
var x2=document.userform.re_pwd.value;
如果(x2==x1){
编写(document.userform.user.value,document.userform.pwd.value);
}
else{alert(“密码不相同,请重新输入密码”);}
}
创建新帐户
创建新帐户

用户名

密码

重新输入密码

注册


为什么要使用非通用过时技术将明文凭证存储为用户计算机上的文件?我们有散列和cookies,你知道。你在使用Internet Explorer吗?据我所知,并不是所有浏览器都支持ActiveX。祝你好运,用IE以外的浏览器保存文本文件。唯一可行的方法是,如果你用扩展名保存HTML文件,你的最终目标是什么?如果您试图创建一个用户可以注册和登录的web应用程序,Javascript不会阻止它。没问题。我花了一段时间才弄清楚所有东西的语法。我在vbscript中找到的所有示例。
<!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>