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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
複数のSubmitボタンをname属性によって見分けるには?
JavaScript
-
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
どのボタンが押されたかの判定
HTML・CSS
-
-
4
Javascriptでのbuttonのname属性、もしくはid属性を取得
JavaScript
-
5
tableタグとformタグの組み合わせ
HTML・CSS
-
6
Javascript_submit()完了後に処理したい
JavaScript
-
7
onClickとsubmitの処理順序
JavaScript
-
8
TABLEのセルの中の文字を行単位、セル単位で色を変えたい
HTML・CSS
-
9
フォームで同じ複数のnameで違うvalueの送信
Java
-
10
テーブルタグの中にdivを含めてはダメ?
HTML・CSS
-
11
submitボタンにvalue属性の値でないラベルを表示したい
HTML・CSS
-
12
jsp~jspにhiddenを使って変数を飛ばしたい
JavaScript
-
13
FormのonsubmitでJavaスクリプトを複数使えますか
JavaScript
-
14
テーブルのヘッダとボディの幅がズレルのを防ぐ
HTML・CSS
-
15
PHP ボタンが押されたら処理を実行する
PHP
-
16
Path型をString型へ変換する(Java)
Java
-
17
Javascriptの値をJava(JSP)へ渡す方法
Java
-
18
<input type=hidden" >で配列(複数の要素)を渡したいとき?"
PHP
-
19
リンクでPOSTデータを送信することは可能ですか?
HTML・CSS
-
20
下向き三角のボタンの名前は?
その他(OS)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスに入力された...
-
hiddenのvalueの値を変えたい
-
クイズ作成:15個の問題から5個...
-
eval()を使わずに数値を取得し...
-
商品コードを入れたら自動で商...
-
フォームに入力された数値を計...
-
ラジオボタンの選択で解答・点...
-
value内に変数を入れたい
-
name属性が同じフォームが複数...
-
ラジオボタンを押して計算結果...
-
sessionStorageを調べています。
-
HTML、Javascriptでトグルボタ...
-
Java Script の "this"
-
javascriptでhiddenに二次元配...
-
VB.NET DateTimeの型について
-
onchangeイベントを強制的に発...
-
プルダウン選択を変更すると、...
-
return trueとreturn falseの用...
-
チェックボックスのON/OFFでVal...
-
<JavaScript>tableタグを入力不...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
hiddenのvalueの値を変えたい
-
value内に変数を入れたい
-
引数に数値、文字列の混在
-
複数のsubmitボタンで押された...
-
VB.NET DateTimeの型について
-
3桁区切りのカンマをつけたい...
-
javascriptでhiddenに二次元配...
-
フォームで入力した値を別のフ...
-
setIntervalの間隔を途中で変更...
-
jsで、配列内の文章を改行する...
-
Pythonで会員サイトの自動ログ...
-
selectboxのoptionタグのvalue...
-
テキストボックスに入力された...
-
フォーカスすると初期値が消去...
-
ラジオボタンと連動して文字列...
-
セレクトボックスの初期選択状...
-
sessionStorageを調べています。
-
VBAをJavaScriptに変換したいです
-
ダミーフォームの内容を送信用...
-
javascriptで複数の計算を同時...
おすすめ情報