
form内の、submitボタンの値が拾えません。
1つだけsubmitボタンを設置すると値が拾えますが、
2つ以上submitボタンを設置すると拾えません。
仕様上、無理なのでしょうか?
<SCRIPT language="JavaScript">
function move_post(){
alert(document.frmMvPost.btn.value);
}
</SCRIPT>
<FORM name="frmMvPost" action="" method="post" onsubmit="return move_post()">
<INPUT type="submit" name="btn" value="テスト1">
<INPUT type="submit" name="btn" value="テスト2">
<INPUT type="submit" name="btn" value="テスト3">
</form>
No.2ベストアンサー
- 回答日時:
> alert(document.frmMvPost.btn.value);
btnというオブジェクトが複数あるため、btnは配列になってしまうため、
document.frmMvPost.btn.valueでは値が取れません。
回避策はonClickイベントにて値をHiddenへ格納すればOKです。
_____________________________________________________________
<SCRIPT language="JavaScript">
function move_post(){
alert(document.frmMvPost.onbtn.value);
}
function set_value(s_val)
{
document.frmMvPost.onbtn.value = s_val;
}
</SCRIPT>
<FORM name="frmMvPost" action="" method="post" onsubmit="return move_post()">
<INPUT type="submit" name="btn" value="テスト1" onClick="set_value('テスト1')">
<INPUT type="submit" name="btn" value="テスト2" onClick="set_value('テスト2')">
<INPUT type="submit" name="btn" value="テスト3" onClick="set_value('テスト3')">
<INPUT type="hidden" name="onbtn">
</form>
_____________________________________________________________
※テストしていないため動作は保証しません。問題ある場合にはお手数ですが何かしら手を加えてください。
No.3
- 回答日時:
"submit"を"button"にしてonclickイベントでmove_post()を呼び出し、event.srcElement.valueで取得する。
てのは?(submitするときはmove_post()にフォーム名.submit();を記述)
<SCRIPT language="JavaScript">
function move_post()
{
alert(event.srcElement.value);
//frmMvPost.submit();
}
</SCRIPT>
<FORM name="frmMvPost" action="" method="post">
<INPUT type="button" name="btn" value="テスト1" onclick="move_post();">
<INPUT type="button" name="btn" value="テスト2" onclick="move_post();">
<INPUT type="button" name="btn" value="テスト3" onclick="move_post();">
</form>
IEであれば動作しました。event.srcElement.valueというのは勉強になりました。IE限定の時は是非とも使いたいと思います。ありがとうございました。

No.1
- 回答日時:
多分、submitボタンに与えているname属性の値が重複しているので、狙ったような動作が得られないのではないでしょうか。
name属性をそれぞれ別々の値に設定すれば、動作すると思います。もし参照するフォーム部品の名前をbtnに統一しなければうまくないという場合は、隠しフィールドを用意してそこにそのフォーム部品の名前を与え、submit時に隠しフィールドに各ボタンの値を渡して、その隠しフィールドの方の値を取得させるような形に修正するのも対策になるかもしれません。
formの部分のソースを
<FORM name="frmMvPost" action="" method="post" onsubmit="return move_post()">
<INPUT type="submit" value="テスト1" onClick="document.frmMvPost.btn.value=this.value;">
<INPUT type="submit" value="テスト2" onClick="document.frmMvPost.btn.value=this.value;">
<INPUT type="submit" value="テスト3" onClick="document.frmMvPost.btn.value=this.value;">
<input type="hidden" name="btn">
</form>
このようにしてみてはいかがでしょうか。
参考になれば幸いです。 見当違いでしたら、ごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
hiddenのvalueの値を変えたい
-
複数のsubmitボタンで押された...
-
テキストボックスに入力された...
-
ラジオボタンと連動して文字列...
-
ラジオボタンの選択で解答・点...
-
チェックボックスの値について
-
javascriptで複数の計算を同時...
-
javascriptで .jpg , .jpeg , ....
-
javascriptを短く方法ありますか?
-
Selectボックスの幅を自動で広...
-
チェックボックスの設定
-
onchangeイベントを強制的に発...
-
クリックされた罫表セルの行番...
-
Visual Studioのデザインでの非...
-
VB.NETで<Input>タグ、<text...
-
slickのレスポンシブ > center...
-
html selectの内容を初期値に戻す
-
イベント発生時に入力待ち状態...
-
return trueとreturn falseの用...
-
VBSでブラウザ上のテキストボッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
value内に変数を入れたい
-
hiddenのvalueの値を変えたい
-
複数のsubmitボタンで押された...
-
setIntervalの間隔を途中で変更...
-
VB.NET DateTimeの型について
-
JavaScriptによる自動計算フォ...
-
javascriptでhiddenに二次元配...
-
name属性が同じフォームが複数...
-
フォームで入力した値を別のフ...
-
JAVASCRIPTで、ボタンを押した...
-
プルダウン選択時、既に入力済...
-
どのボタンがクリックされたの...
-
チェックボックスがundefinedと...
-
eval()を使わずに数値を取得し...
-
ラジオボタンと連動して文字列...
-
ループで連続したフォームの値...
-
クイズ作成:15個の問題から5個...
-
ラジオボタンを押して計算結果...
-
コピーすると改行コードがCRと...
-
自動的に連番生成したURLにリン...
おすすめ情報