- ベストアンサー
javaで name=id[?] を指定する方法とは?
ショップ運営で、商品一覧から+-ボタンでそれぞれ数の増減をさせるよう、ほかのサイトを参考にして下記のようにjavascriptで記述してみました。 このうち、商品2と3はボタンが機能したのですが、商品1は数の増減ができません。 おそらく要素名に(name=id[1])と[]で囲っているからだと思うのですが、この[]を取らないまま、ボタンを機能させる方法はありますでしょうか? よろしくお願いします。 <FORM> 商品1:<INPUT type=text name=id[1] value=3 size=4> <INPUT type=button value="+" onClick="plus(this.form.id[1])"> <INPUT type=button value="-" onClick="minus(this.form.id[1])"> <BR> 商品2:<INPUT type=text name=id2 value=3 size=4> <INPUT type=button value="+" onClick="plus(this.form.id2)"> <INPUT type=button value="-" onClick="minus(this.form.id2)"> <BR> 商品3:<INPUT type=text name=id3 value=3 size=4> <INPUT type=button value="+" onClick="plus(this.form.id3)"> <INPUT type=button value="-" onClick="minus(this.form.id3)"> </FORM> <SCRIPT language="JavaScript"> <!-- function plus(chk){chk.value++; if (chk.value==6) {chk.value=5} } function minus(chk){chk.value--; if (chk.value==0) {chk.value=1} } // --> </SCRIPT>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こうやってアクセスしてください onClick="plus(this.form.elements['id[1]'])"
その他の回答 (1)
- SAYKA
- ベストアンサー率34% (944/2776)
No1のやり方で良いんだけど ブラウザによっては正しく認識されないから「[」「]」を使わない状態に修正した方が良いよ。 http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/types.html#h-6.2 -----------------------------抜粋 IDトークンとNAMEトークンは、アルファベット([A-Za-z])で開始し、任意の数のアルファベット、数字、([0-9])、ハイフン(-)、アンダースコア(_)、コロン、(:)、ピリオド(.)のみで記述する必要がある。
お礼
そうですね。 できるだけ使わないように変更していきたいと思います。 ありがとうございました。
お礼
早速回答ありがとうございます! 無事動作できました!