0

だから私はhtmlフォームのページ間でjavascript関数の値を渡そうとしています。値を表示するために使用しており、それを保存するための非表示の入力フィールドを使用しています。これが私のコードです:

  <div class="totalPrice"></div>
  <input type="hidden" name="totalPrice" class="totalPrice">

これは、ボタンで送信される大きなフォームの一部です。次のページで:

 session_start();
 $_SESSION['totalPrice'] = $_POST['totalPrice'];

私のJavaScriptページでは、計算が正しく行われます.JavaScript関数は次のとおりです。

function getTotal()
{
var weekTotalPrice = weekPrice(); 
document.getElementByClassName('totalPrice').innerHTML = weekTotalPrice;
}

問題は次のとおりです。

  1. 合計金額が表示されないため、クラス関数 getElementByClassName が機能していません。非表示の入力フィールドなしで id を使用すると、完全に機能します。
  2. JavaScript での私の古いコードは次のとおりです。

    document.getElementByClassName('totalPrice').innerHTML = "合計金額: $" + weekTotalPrice;

ただし、「Total Price: $」の部分はまだ表示されていますが、明らかに削除しています。ファイルを保存したかどうかを再確認し、ローカルの MAMP サーバーをリセットしました。

これら 2 つの問題の解決策をぜひお聞かせください。ありがとう。

4

2 に答える 2

4

あなたgetElementByClassNameは間違っていますgetElementsByClassName。また、getElementsByClassName単一のアイテムではなく、一連のアイテムを返します。使用するアイテムを指定する必要があります。getElementByIdこれとは逆に、変更したい要素に ID を使用して指定すると、扱いやすくなります。ID による DOM オブジェクトの参照は、クラスよりも高速です。

于 2013-07-02T15:22:26.847 に答える
-1

document.getElementByClassName('totalPrice').innerHTML = " "+weekTotalPrice; を試してください。正しく印刷されたかどうか教えてください。

于 2013-07-02T15:26:49.737 に答える