2013-02-10 64 views
2

我想寫從一個HTML格式的文件,但是JavaScript並沒有做任何的寫入部件...Javascript語言,HTML寫入文件

只有腳本的驗證部分似乎正在工作...

**我要寫多少東西才能讓我發佈一些東西? 「看起來你的文章主要是代碼,請添加更多的細節。」

<!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> 
+0

你爲什麼要存儲明文憑證使用非通用過時的技術在用戶的計算機上的文件?你知道我們有散列和餅乾。 – 2013-02-10 06:37:38

+1

您使用的是Internet Explorer嗎?就我所知,並不是所有的瀏覽器都支持ActiveX。 – Enfyve 2013-02-10 06:39:44

+0

祝好運用IE以外的瀏覽器保存文本文件。 – 2013-02-10 06:40:14

回答

8

我拿出我一般.HTA讀/寫程序,並在這裏落下它們。

  • 刪除了XHTML東西,切換到HTML 5 doctype
  • 盪滌標記是HTML5標準。
  • 修復了您的輸入中的IDlabel元素通過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> 
+0

沒問題。花了我一段時間,讓我的一切正確的語法。我在vbscript中找到的所有例子。 – 2013-02-10 18:07:37