2009-10-30 43 views
0

我正在構建一個測試用例JS應用程序,它非常基本,但遇到了一些問題。將HTML表單條目傳遞到Javascript數組然後寫入客戶端Cookie?

我想爲用戶輸入一個數字,然後寫入一個Javascript數組。用戶然後可以選擇將相同的數組寫入本地(客戶端)cookie。 (我瞭解這個安全含義 - 這是一個測試用例,不適用於商業用途。)

但是,我無法建立連接 - 如何捕獲HTML條目,按'submit'將發送它到一個JS數組,然後用戶可以按下不同的'submit'將數組寫入文本文件?

如果任何人都可以幫助我會很感激,因爲它已經接近6個小時了,而且不再有趣。

回答

0

在窗體上添加

<form bla bla bla onsubmit="return catchThings()"> 
     <input name="test" id="test"> 
    </form> 

的使用JavaScript,你可以做

function catchThings(){ 
    // get all the forms inputs by id 
    // do things with arrays or whatever 
    var example = document.getElementById("test").value; 
    return false; 
} 
1

來讀取數據,使用如下代碼:

var data = new Array; 

function readData() { 
    var inputs = document.getElementsByTagName('input'); 
    for (i in inputs) { 
     if (!isNaN(i - 0) && inputs[i].type == 'text') { 
      data[i - 0] = inputs[i].value; 
     } 
    } 
} 

與觸發它一個按鈕輸入:

<input type="button" onclick="readData();" value="Read" /> 

還是,你想要它作爲一個cookie,文本文件或什麼?這裏有幾個可能的陳述取決於你想要使用的:

alert(data.toString()); 
window.location.href = 'data:text/plain,' + escape(data.toString()); 
document.cookie = 'data=' + data.toString(); 

第二個生成純文本,可能會顯示在瀏覽器中。將其保存爲文本文件,你就必須要麼

  • 產生它
  • 使用一些MIME類型,如應用程序/八位字節流,而不是純文本/(那麼用戶將後做手工必須手動命名文件)。
相關問題