
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
hiddenのvalueの値を変えたい
-
JavaScriptでHTML上のフォーム...
-
UART通信の取説で,left floati...
-
value内に変数を入れたい
-
ホームページ上での計算につい...
-
プルダウン選択時、既に入力済...
-
setIntervalの間隔を途中で変更...
-
カレントのオブジェクトの値を...
-
jsで質問です。 ボタンが二つ存...
-
セレクトを全て選択されていな...
-
Form内のselectを連動させるに...
-
Selectボックスの幅を自動で広...
-
JSPとJavaScriptの連携について...
-
onchangeイベントを強制的に発...
-
ハイパーリンクを別ウインドウ...
-
テーブルの行数を可変長にした...
-
チェックボックス付きのテーブ...
-
javascriptで入力フォームが空...
-
未入力のラジオボタンに、alert...
-
return trueとreturn falseの用...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
value内に変数を入れたい
-
hiddenのvalueの値を変えたい
-
sessionStorageを調べています。
-
UART通信の取説で,left floati...
-
javascriptでhiddenに二次元配...
-
eval()を使わずに数値を取得し...
-
Kintone(キントーン)でドロップ...
-
3桁区切りのカンマをつけたい...
-
selectboxのoptionタグのvalue...
-
自動的に連番生成したURLにリン...
-
子から親へチェックボックスの...
-
どのボタンがクリックされたの...
-
フォームで個数の選択をプルダ...
-
name属性が同じフォームが複数...
-
VB.NET DateTimeの型について
-
Javascriptのグローバル変数に...
-
JAVASCRIPTの日数計算について
-
セレクトボックスの初期選択状...
-
プルダウン選択時、既に入力済...
-
JAVASCRIPTで、ボタンを押した...
おすすめ情報