0

私はjavascript/jQuery/Jsonが初めてです。私はローカルアプリを自分で構築しています(今のところクライアント側はありません)。現在、単純なフォーム (入力と送信) があり、javascrip/JQuery を使用してユーザーから入力を取得し、JSON オブジェクトを作成してファイルに保存したいと考えています。jQueryを使用して入力を取得し、JSON.strigify()を使用してJSONオブジェクトを取得しました。唯一のことは、JSでファイルに書き込む方法がわからないということです。私は解決策を探しましたが、JSはファイルを変更するためのものではないため、そのためにPHPを使用する必要があるかもしれないことを理解しています。ここに私のコードがあります:

HTML フォーム:

<form name="portfolio" id="portfolio" method="post" onsubmit="getform()">
     <p>General</p>
        Portfolio   Name: <input type="text" id="portfolioName" name="portfolioName"><br>
        Owner First Name: <input type="text" id="ownerFName" name="ownerFName"><br>
        Owner Last  Name: <input type="text" id="ownerLName" name="ownerLName"><br>
      <p>Risk Management</p>
        %stocks : <input type="text" id="stocksPerc" name="stocksPerc"><br>
     <input type="submit" value="submit">
 </form>

JS コード

function getform() {

    var portfolioName = document.portfolio.portfolioName.value;
    var ownerFname = document.portfolio.ownerFName.value;
    var ownerLname = document.portfolio.ownerLName.value;
    var stocksPerc = document.portfolio.stocksPerc.value;

    var myJsonObject =JSON.stringify({
        "general": {
            "portfolioName": portfolioName,
            "ownerFname": ownerFname,
            "ownerLname": ownerLname
        },
        "riskManagement": {
            "stocksPerc": stocksPerc
        }
    });


   alert(myJsonObject);


    event.preventDefault();
};

「myJsonObject」には、ローカルファイルに書き込みたいJSONオブジェクトがあります。後でこのファイルを読んで、そこにある値のいくつかを更新したいと思います。

誰かがそれをファイルに書き込む方法を理解するのを手伝ってもらえますか? 私のコードを実行するこのページを読み込んでみてください。それがあなたのために働くことを願っています。

:プログラミングは私の興味のある分野ですが、私はそれを勉強していませんでした。また、これは私がここに投稿する最初の質問です。改善する必要がある場合はお気軽に言ってください。

ありがとうシヴァン

更新+明確化:回答してくれてありがとう、localStorageは私が知らなかったものです。localStorage について私が理解していることから、単一のドメイン/場所での作業にのみ適しています。(サイトでこの質問に遭遇しました)。別の場所からアプリを実行するオプションが必要な場合はどうでしょうか。たとえば、JSON データを更新するのは 1 人だけで、同期やロックなどは必要ありません。現在、私のファイル(JS、JSON ..)はドロップボックスに保存されています。これが、今日さまざまな場所からアプリを使用する方法です。他のサーバーはありません。

2番目の更新:提供されたlocalStorageソリューションを試しましたが、それは優れた機能ですが、複数の場所で利用可能なJSONデータが必要なので、探しているものとはまったく異なります(使用しますたとえば、私のデスクトップとラップトップ)。他の提案があれば幸いです。

再度、感謝します。

4

3 に答える 3

0

ファイルをストレージとして使用しないでくださいlocalStoragehttp://diveintohtml5.info/storage.htmlを使用してください。セッション スコープに情報を保存する必要がある場合は、 を使用する必要がありますsessionStorageが、後者は永続的ではないことに注意してください。

使用方法の例:

var item = {
  "general": {
    "portfolioName": portfolioName,
    "ownerFname": ownerFname,
    "ownerLname": ownerLname
  },
  "riskManagement": {
    "stocksPerc": stocksPerc
  }
}
// set item, you should think up of a unique key for each item
localStorage.setItem('your-key', item);

// remove it if no longer needed, you don't have a lot of space
localStorage.removeItem('your-key');
于 2013-05-08T10:21:57.593 に答える
0

一部のブラウザーではファイルの保存が可能ですが、これはおそらく将来削除される予定です。そのため、必要がない限り使用しません。この記事では、次の方法について説明します - http://updates.html5rocks.com/2011/08/Saving-generated-files-on-the-client-side

json をサーバーに投稿し、サーバーを使用してダウンロード ファイルを生成できます (それが必要な場合は、新しい質問をしてください)。

最後に - 本当にファイルに保存しますか? データを保存して復元することだけが必要な場合は、より良い代替手段があります (localStorage、cookie、indexDb など)。

于 2013-05-08T10:22:04.840 に答える
0

HTML5 localStorage APIを確認してください。そこに JSON オブジェクトを保存して取得することができます。それらはキーと値のペアとして保存されます。JS AFAIK を使用してファイルに書き込むことはできません。

于 2013-05-08T10:14:27.903 に答える