下記のようなJSで、たとえば「ううう」を選択すると、
「ううう」を選択する前に戻すには、どうすればいいでしょうか?
<script>
function test(value) {
if (value == "u") {
alert("「ううう」を選択することはできません");
//ここ↓をどう書けばいいですか?
}
}
</script>
<select name="test" id="test" onchange="test(this.value);">
<option value="a">あああ</option>
<option value="i">いいい</option>
<option value="u">ううう</option>
<option value="e">えええ</option>
<option value="o">おおお</option>
</select>
例)
・「いいい」を選択
↓
・「ううう」を選択
↓
・「ううう」を選択することはできません、とアラートを出す。
↓
・「いいい」の選択に戻る
No.2ベストアンサー
- 回答日時:
こんばんは
こんなやり方は、如何でしょう?
<HTML>
<BODY>
<script>
var predata = "a";
function test(value) {
if (value == "u") {
alert("「ううう」を選択することはできません");
//ここ↓をどう書けばいいですか?
testsel.value = predata;
return;
}
predata = value;
}
</script>
<select name="test" id="testsel" onchange="test(testsel.value);">
<option value="a">あああ</option>
<option value="i">いいい</option>
<option value="u">ううう</option>
<option value="e">えええ</option>
<option value="o">おおお</option>
</select>
</BODY>
</HTML>
ご回答ありがとうございます。
こちらがいちばんシンプルなやり方のようですね。
こちらの方法を採用させていただきます。
実は、↓のような例で、偽を返すと、アクションを起こさないのと同様に、
<a href="test.html" onclick="alert(1); return false;">test</a>
簡単にできないかと思ってたのですが、皆さんの回答をみる限りでは
出来ないようですね。
ありがとうございました。
No.5
- 回答日時:
ちと待ってくれ。
質問者は
>たとえば「ううう」を選択すると
と言っている。この”たとえば”とは
一度選択したら、変更されても元に戻して変更できないようにする!
と解釈するのでは?
まぁ~無言を続けている限り真実はわからないが・・・
No.4
- 回答日時:
こんにちは!
スマートな書き方ではないかもしれませんが、以下のような方法はいかが
でしょうか?
<script>
log_val="";
function test(value) {
if (value == "u") {
alert("「ううう」を選択することはできません");
document.getElementById('test').value = log_val;
}else{
log_val =value;
}
}
function log(value){
log_val=value;
}
</script>
<select name="test" id="test" onchange="test(this.value);" onfocus="log(this.value);">
<option value="a">あああ</option>
<option value="i">いいい</option>
<option value="u">ううう</option>
<option value="e">えええ</option>
<option value="o">おおお</option>
</select>
流れonfocusイベント時に現在選択されている値を取得し、保存しておく
選択されたくない項目が選択された時、警告メッセージを表示し、元の値に変更
選択されても良い値が選択された時、選択された値を取得し、保存しておく
参考になれば幸いです!
ご回答ありがとうございます。
ANo.2さんの回答と同様に、やはり、一度変数にバックアップしておく
方法ですね。onfocusを使うという発想は思い浮かびませんでした。
今回は、ANo.2さんのやり方でいきますが、参考になりました。
ありがとうございました。
※JavaScriptって発想が大事なんですね~。なるほど。
No.3
- 回答日時:
<html>
<select name="test" id="test" onchange="this.disabled=true;">
<option value="a">あああ</option>
<option value="i">いいい</option>
<option value="u">ううう</option>
<option value="e">えええ</option>
<option value="o">おおお</option>
</select>
ご回答ありがとうございます。
質問が不明確であったようで、失礼しました。
たとえば「ううう」を選択すると
↓
「ううう」を選択すると
「たとえば」という言葉は要らなかったですね。。
とはいえ、ご回答いただき、ありがとうございました。
No.1
- 回答日時:
<script type="text/javascript"><!--
function tests(value) {
if (value == "u") {
alert("「ううう」を選択することはできません");
form.test.value=form.hako.value;
}else{
form.hako.value=form.test.value;
}
}
-->
</script>
<form name="form">
<input type="hidden" id="hako" value="a"> </input>
<select name="test" id="test" onchange="tests(this.value);">
<option value="a" selected>あああ</option>
<option value="i">いいい</option>
<option value="u">ううう</option>
<option value="e">えええ</option>
<option value="o">おおお</option>
</select>
先ほど送信したのですが、うまくいっていなかったようなので、もう一度。ダブったらごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
JavaScriptで変更した属性の元の値の取得
JavaScript
-
全てのselect要素をデフォルトの値に戻す方法
JavaScript
-
Javascript_submit()完了後に処理したい
JavaScript
-
-
4
文字の横にプルダウンを表示させたいのですが、どうすればいいでしょうか?
HTML・CSS
-
5
リクエストに応じたselectedの初期値設定方法
Java
-
6
html selectの内容を初期値に戻す
JavaScript
-
7
テーブルタグの中にdivを含めてはダメ?
HTML・CSS
-
8
一覧から選択した行の行番号を取得について
JavaScript
-
9
selectのonChangeが動作しません
JavaScript
-
10
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
11
含まない言い方ってどうしたらいいんでしょうか
日本語
-
12
postgreSQLのint型は桁数指定ができない??
PostgreSQL
-
13
子ウィンドウの存在確認
JavaScript
-
14
GROUP BYを行った後に結合したい。
Oracle
-
15
<tbody>は何のためにあるんでしょうか?
その他(ソフトウェア)
-
16
数百万件レコードのdelete
SQL Server
-
17
Viewにインデックスは張れますか?
Oracle
-
18
onchangeイベントを強制的に発生させる
JavaScript
-
19
至急!GetElementById でtdのidの値を取得、サブウインドに取得したデータを表示
JavaScript
-
20
SQLで、Join句で結合したテーブルにデータが無い場合について
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウン選択を変更すると、...
-
selectを変更不可にしたい
-
selectのすべての値を送信する方法
-
検索窓とプルダウンメニュー機...
-
ラジオボタンとプルダウンを連...
-
セレクトボックスで配列を呼び...
-
selectボックスで選択数を制限...
-
プルダウンの値によって活性・...
-
プルダウンのoptionの表示・非...
-
プルダウンの値をphpファイルへ...
-
3つの連動したプルダウンメニュ...
-
複数プルダウンで検索
-
<input>の選択肢をプルダウンメ...
-
JavaScriptで<select>の<option...
-
複数のプルダウンを1つにまとめ...
-
セレクトボックスの値を取得し...
-
2段階プルダウンで1段階目の選...
-
Selectボックスの一覧表示方法
-
scriptの日付計算について
-
disableとすることなく、ユーザ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
全てのselect要素をデフォルト...
-
javascriptでセレクトボックス...
-
Selectボックスの一覧表示方法
-
JavaScriptで<select>の<option...
-
プルダウン選択を変更すると、...
-
select要素のvalueを配列で取得...
-
selectを変更不可にしたい
-
<input>の選択肢をプルダウンメ...
-
ラジオボタンとプルダウンを連...
-
【JS】selectでchangeした時の...
-
VBScriptでHTMLのセレクトボッ...
-
リストボックス内の重複したも...
-
同じ名前のセレクトがある場合...
-
プルダウンの値によって活性・...
-
selectが変更されたらnameを指...
-
【javascript】連想配列からセ...
-
3つのselectでURLパラメータを...
-
複数のプルダウンを1つにまとめ...
-
selectボックスで選択数を制限...
-
セレクトボックスで配列を呼び...
おすすめ情報