1

私は持っている:

HTML:

<a href="" class="add-to-cart-button" onClick="javascript:addToCart([@id]);">Add to cart</a>

および Javascript:

var pid;
function addToCart(id){
pid = id;
}
alert(pid);

addToCart(id) から pid に値を割り当てるにはどうすればよいですか? ありがとう!

4

2 に答える 2

3

あなたpidがページをロードしているときは未定義です。実際の値を表示するには、アラートを関数内に配置する必要があります。

var pid;
function addToCart(id){
    pid = id;
    alert(pid);
}

デモ

于 2012-12-15T13:17:10.550 に答える
1

JavaScript はページ読み込み中に実行され、

  1. という名前の変数を宣言しますpid (宣言のみ、値は定義されていません)
  2. という名前の関数を宣言および定義しますaddToCart (実行ではなく、宣言および定義します...)
  3. 宣言されたpid変数(まだ値として定義されていない) を警告する

また、ページの読み込み中にマークアップが解析され、要素がクリックされたときに呼び出されるクリック処理関数が JavaScript エンジンによって定義されます(実行はされません)addToCart()

実行されるのは要素がクリックされたときであり、定義がaddToCart与えられます。これはすべて、ページの読み込み中に行われた後です。pidalert

ただし、 をaddToCart設定した後に関数内でアラートを発行すると、適切な値が表示されます。pid

に関するコメントと回答も参照してください@id

追加のメモとして、属性javascript:の開始時に使用している疑似プロトコルはonclickその属性では適切ではなく、以前は適切であった場所 (属性など) では推奨されていませんhref。それを削除し、使用をすべて中止する必要があります。

于 2012-12-15T13:17:52.777 に答える