同一サイトの中で(商品A:数量B)といったセレクトボックスが横に二つ並んだものが縦方向に2セットあります。そのフォームの中で商品Aに対応して数量Bを変えるスクリプトは出来たのですが、上の商品A(1番目)を変えた際に下の商品A(2番目)も連動して同じものにし、同時に数量B(1番目)と数量B(2番目)を同じものにしようとして苦労しています。

<SELECT name="productA" id="productA" onchange="createChildOptionsA(this.form); createChildOptopns2A(this.form)">
上記のようにonchangeイベントの際に二つの関数を呼び出そうとしても「'createChildOptopns2A' は定義されていません。」となってしまい、呼び出せません。
createChildOptions2Aと言う関数はありますし、
<SELECT name="product2A" id="product2A" onchange="createChildOptions2A(this.form)">
とすれば呼び出せます。
なぜでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/04/20 10:43:23
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

ポイント500pt

<SELECT name="productA" id="productA" onchange="createChildOptionsA(this.form); createChildOptopns2A(this.form)">
上記のようにonchangeイベントの際に二つの関数を呼び出そうとしても「'createChildOptopns2A' は定義されていません。」となってしまい、呼び出せません。

質問のコードは、ソースから、そのままコピペをしたんですよね。
関数名が間違っています。
id=productA の onchange の記述で「」が抜けてますよ。

createChildOptiopns2A(this.form);

他1件のコメントを見る
id:a-kuma3

疲れてるとスペルミスに気がつかないようですOrz

同感です :-)

ぼくも、そんなにすぐに気がついたわけじゃないです。

  1. 質問のコードをじっと見る
      別に、問題ないよなあ...
  2. 質問のコードをコピって、実際に試してみる
      呼び出せるよなあ...(procuctA をいじってる)
  3. productA2 をクリック
      あれ、呼び出せてないやん
  4. productA2 の onchange の関数でソース内を検索
      確かに無い

2 → 3 には、そこそこ時間がかかってます(お湯を沸かして、コーヒーを入れて、たばこを一服くらいは)。
関数の定義をする時に、productA の SELECT を編集して作ったので、質問とは動きが逆になってました。

使ってるエディタの、カーソル位置にある文字列を検索する、みたいな操作を覚えておくと【吉】です。

2014/04/20 10:56:42
id:tyusuke88

自分も検索して確かめるよう癖をつけようと思います。
手入力だとスペルミスは起きますね。。

2014/04/20 11:13:56

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません