
まったく同じ<select>フォームの値を連動させたい
ptpで下記のようなコードがあり、まったく同じselectフォームの値を常に連動させるにはどうしたらよいでしょうか。
本当は、ひとつのform内に二つのSubmitボタンがあってはならないような話を聞いたことがありますが・・・
<html>
<head>
</head>
<body>
<?php
$btn = "<select name='sorttype'>";
$btn .= "<option value='0'>氏名</option>";
$btn .= "<option value='1'>年齢</option>";
$btn .= "<option value='2'>電話番号</option>";
$btn .= "</select>";
$btn .= "<input type='submit' name='exec' value='保存'>";
?>
<form>
<?= $btn ?>
ああああ<br>
いいいい<br>
うううう<br>
<?= $btn ?>
</form>
</body>
</html>
No.2ベストアンサー
- 回答日時:
>まったく同じ<select>フォームの値を連動させたい
同じものをわざわざ複数個作って連動(?)させることの意味がわかりませんが…
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head><title>test</title>
<script type="text/javascript">
<!--
function hoge(e) {
var i=0, s, sel = e.form.getElementsByTagName("select");
while (s=sel[i++]) if (s.name == e.name && s != e) s.selectedIndex = e.selectedIndex;
}
//-->
</script>
</head>
<body>
<form>
<select name='sorttype' onchange="hoge(this)">
<option value='0'>氏名</option>
<option value='1'>年齢</option>
<option value='2'>電話番号</option>
</select>
<br>ああああ<br>
いいいい<br>
うううう<br>
<select name='sorttype' onchange="hoge(this)">
<option value='0'>氏名</option>
<option value='1'>年齢</option>
<option value='2'>電話番号</option>
</select>
<br>かかかか<br>
きききき<br>
くくくく<br>
<select name='sorttype' onchange="hoge(this)">
<option value='0'>氏名</option>
<option value='1'>年齢</option>
<option value='2'>電話番号</option>
</select>
</form>
</body>
</html>
fujillinさん、ご回答ありがとうございました。
おかげさまで、ばっちり本番環境に組み込むことができました。
> 同じものをわざわざ複数個作って連動(?)させることの意味がわかりませんが…
縦にながーいテーブルの一番上と一番下に登録ボタンや、ソートキーを指定するselectフォームを設けてPOSTさせたところ、上のフォームでソートキーを選択指定しても、下のキーの値が上書きPOSTされてしまいました。なので、急しのぎで連動させる必要を感じたしだいです。
とりあえず一件落着です。ありがとうございました。
No.1
- 回答日時:
JavaScriptのカテゴリですから、スクリプトについてのヒントを書くことにします。
ボタンを複数設置したいのなら、送信ボタンではなく普通のボタンを置きます。
<input type='button' name='exec' value='保存'>
しかし、これだけでは機能しないので、スクリプトを組み込みます。
<input type='button' name='exec' value='保存' onClick='スクリプトを記述'>
どの値をどう連動させるのか判らないので、ここまでにしておきますが、JavaScriptでフォームの値を変更することは自由にできますので、ボタンに連動してフォームの値をセットし直すことは可能です。
参考URL:http://www.shurey.com/Soft/JS/form/index.html
nine999さん、ヒントありがとうございました。
> ボタンを複数設置したいのなら、送信ボタンではなく普通のボタンを置きます
そんなことができるのですか?
まったく知りませんでした。
javascriptが書ければ、いろいろ可能性は広がりそうですね。
研究してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンで選択した項目にあ...
-
selectで選ばれた値を別ページ...
-
同じ名前のセレクトがある場合...
-
<select> をmultiple にしてい...
-
VBScriptでHTMLのセレクトボッ...
-
javascript-変数がよくわかりま...
-
TextBoxに半角数字以外を入れた...
-
onchangeイベントを強制的に発...
-
プルダウンで選択すると、DBの...
-
JavaScript ログアウト処理
-
ブラウザの外にあるマウスの情...
-
return trueとreturn falseの用...
-
【掲示板の機能】投稿時にサイ...
-
Selectボックスの幅を自動で広...
-
ボタンかリンクをクリックする...
-
VB.NETで<Input>タグ、<text...
-
javascriptで画像をテーブルに...
-
sessionの値でボタンを活性・非...
-
RegularExpressionValidatorの...
-
JavaScript:現在フォーカスの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input>の選択肢をプルダウンメ...
-
javascriptでoptionタグを削除...
-
プルダウン選択を変更すると、...
-
2段階プルダウンで1段階目の選...
-
セレクトボックスで配列を呼び...
-
ラジオボタンとプルダウンを連...
-
【JavaScript】プルダウンで数...
-
スマホのフォームでのselect複...
-
二つのセレクトボックス間での...
-
3つの連動したプルダウンメニュ...
-
プルダウンを選択していないと...
-
2つのプルダウンメニューで、同...
-
selectを変更不可にしたい
-
Selectボックスの一覧表示方法
-
webページの一部のみの更新につ...
-
<select> をmultiple にしてい...
-
同じ名前のセレクトがある場合...
-
javascriptでセレクトボックス...
-
コードレビューをお願いします。
-
selectタグで日付を生成
おすすめ情報