1

2 つの HTML ファイルと 1 つの JavaScript ファイル、index.html、results.html、file.js があります。

index.html 内では、javascript ファイル内でいくつかの計算を行うために使用されるユーザー入力を取得します。ボタンを押すと計算が始まります。index.html から取得したデータを results.html に表示したいので、ボタンを押すと関数が実行され、別のページに移動します。

結果を1ページに計算して表示することはすべて正常に機能しますが、結果をresults.htmlに表示する方法がわかりません。

コードの一部は次のようになります。

function berekenKoolBehoefte(){
    koolBehoefte = (energieBehoefte - (eiwitBehoefte * 4) - vetBehoefte) / 4;
    toonKool();
}

function toonKool(){
    var uitkomstKool = document.getElementById("uitkomstKool");
    uitkomstKool.innerHTML = (koolBehoefte * 4).toFixed(1) + " kcal" + " " +     koolBehoefte.toFixed(1) + " gram"
}
bereken.addEventListener('click', berekenKoolBehoefte, false);

これはすべてを 1 ページに表示します。関数 toonKool() は results.html 内に表示する必要があります。

4

2 に答える 2

2

この場合の最善の策は、次を使用することです。

  • サーバー側で値を保存し、そこから結果を取得します
  • クッキー - 小さなデータの場合は、単純にクッキーの中に入れます。プレーンな JavaScript で Cookie を使用する方法の詳細については、こちらをご覧ください
  • 結果を url に添付し、JS で解析します。ここでそれがどのように行われたかを見ることができます
  • iFrame - 結果を iframe に添付して、データにアクセスできます。この方法は非常に優れていますが、私の好みではひどいものです
于 2012-07-19T14:33:50.833 に答える
1

私はあなたが良いと思います:

1)ボタンの周りのページにフォームを作成します。

2)フォーム送信時に計算を実行し、結果をフォームの非表示フィールドに入力します(または、計算用のすべてのフィールドをサーバー側に投稿します)。次に、渡したいすべての引数は、2ページ目のサーバーでアクセスできます。

3)前のGETまたはPOST引数を使用して2番目のページを表示します。

クッキーはあなたがクリアするのを忘れているかもしれないものであり、それらを管理することははるかに困難です。

iframeでの計算は、ajaxを使用するよりもはるかに劣ります。2番目のページを部分的にロードするためにajaxを使用すると、すべてのjavascript変数が残ります。

于 2012-07-19T14:43:14.030 に答える