0

配列に名前を追加して、特定の名前が配列にあるかどうかを調べることができる hta (html アプリケーション) を作成しようとしています。hta を閉じて再度開く (または html を更新する) と、名前が保存されません。名前を追加する関数を実行すると、その名前を持つ変数でコードが保存されるようにするにはどうすればよいですか。

これは名前を追加するための関数です

    var names = []
    function addName(first, last){
    names.push(first + " " + last)
}

function realAddName(eventObject){
    var addFirstName = document.getElementById("addFirstName")//the input box for the first name
    var addLastName = document.getElementById("addLastName")//the input box for the last name
    addName(addFirstName.value, addLastName.value)
    alert("The name you input is now added to the thing.")
} 

私は jQuery を持っていないので、jQuery を使用する回答はしないでください。

私を助けてください。

4

4 に答える 4

0

ローカルストレージが役立つかもしれません。例えば:

function addName(first, last) {
    localStorage.setItem("usr123", first + " " + last)
}

ローカル ストレージのデータを追加、変更、または削除できます。しかし、それは限られています。localStorage の詳細については、 HTML5 Web Storageをご覧ください。

于 2013-03-27T19:29:15.653 に答える
0

ユーザー2216996

本当に質問する必要がある場合は、何をしているのかについてのデータベースは必要ありません。「Hey, Scripting Guy!」を試してみてください。http://blogs.technet.com/b/heyscriptingguy/archive/2007/11/09/hey-scripting-guy-how-can-i-save-information-in-an-hta-as-a-のソリューションタブ区切り値ファイル.aspx

データベースについて本当に学びたい場合は、http://en.wikipedia.org/wiki/Databaseにアクセスして読み始めることをお勧めします。

于 2013-05-17T12:57:45.927 に答える
0

これがJavaScriptの仕組みです。ブラウザーを閉じると、配列に追加した値は保存されません。これがデータベースの役割です。jQuery もこれを達成することはできません。

于 2013-03-27T19:05:42.220 に答える
0

アプリケーションの状態をディスクに永続化する必要があります。これは HTA であるためScripting.FileSystemObject、ローカル ファイル システムと対話するために使用できます。

var fs = new ActiveXObject("Scripting.FileSystemObject");
var textFile = fs.CreateTextFile("foo.txt");
textFile.WriteLine(someVariable);
textFile.Close(); 
  • fsローカルファイルシステムへのアクセスを提供するオブジェクトです:FileSystemObject
  • FileSystemObjectCreateTextFileには、ディスク上に新しいtextFileテキスト ファイルを作成し、このファイルにテキストを書き込むために使用できるオブジェクト ( ) を提供するというメソッドがあります。
  • WriteLineファイルにテキストを書き込むと、テキストファイル .Close()が安全に「保存」されます。
于 2013-03-27T19:08:34.620 に答える