アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になります。

selectboxの選ばれている項目の番号、いわゆるselectedIndexをhiddenに設定してsubmitで取得したいのですが、エラーがでてしまいます。
いまいちhiddenの使い方もわかっていないので見当違いな書き方をしているかもしれませんが、
現在の状態を以下に示しますのでご指導よろしくお願いします。

[javascriptの中]
function err(){
document.myForm.NaNo.value = myForm.cbName.selectedIndex;
}
[htmlの中]
<body onLoad=err()>
<form name="myForm" method="post">
<select name="cbName">
<option value=""><br></option>
<option value="花子">花子
<option value="和子">和子
<option value="良子">良子
</select>
<input type="hidden" name="NaNo">

A 回答 (2件)

関数の呼び出しを、


<body onLoad=err()>
のままにしていませんか?
bodyの読み込み時に設定しても、その時点ではセレクトは選ばれていないわけですから「0」にしかなりません。

onLoadイベントを削除して、#1さんのおっしゃっているようにsubmitボタンにonClickイベントで設定するか、SelectタグにonChangeで設定すれば動作します。

windows2000、IE5.0で確認しました。
もしそれで動かないようなら、動かないソースを提示してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
function err()の中から出したらうまくいきました。

お礼日時:2003/01/04 01:40

取得したいのはIndex番号なんですよね?


それならこれで正常に動作していると思いますよ。

 document.myForm.NaNo.value = myForm.cbName.selectedIndex;

の下に、

 alert(document.myForm.NaNo.value);

と追加してみてください。
現在document.myForm.NaNo.valueに入っているデータを表示してくれます。
それから、「submitで取得したい」との事ですが、それならonLoadだけでは駄目ですね。
ご質問では抜けてしまっているようですが、ボタンを押された時にもerr()を呼び出さないといけません。

<input type="hidden" name="NaNo">



</BODY>

の間に

<INPUT TYPE="button" VALUE="SUBMIT" onClick="err();">
</FORM>

と追加してみてください。

この回答への補足

早速ありがとうございます。

おかげ様でIndexは取ってきているようです。しかし、どれを選択していても0になってしまっているのです。

原因がおわかりになられますでしょうか?

補足日時:2002/12/23 23:55
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!