javascriptで実現できるか教えてください。
イメージとしては、
検索項目をテキストボックスとラジオボタンで設定し「検索」ボタンを押すと、
「検索」ボタンが消えて、同じ場所に「再設定」というボタンが表示され
更に、テキストボックスとラジオボタンを入力・選択出来ないようにし、
「再設定」ボタンが押されると、同じ場所に「検索」ボタンが表示され
テキストボックスやラジオボタンの入力・選択も可能になるようにしたいです。
<form action="" method="post">
検索文字<input type="text" name="keyword"><br>
<input type="radio" name="disp_mode" value="1">表示モード1<br>
<input type="radio" name="disp_mode" value="2">表示モード2<br>
<input type="radio" name="disp_mode" value="3">表示モード3<br>
<input type="submit" value="検索">
</form>
ラジオボタンを入力出来なくするのは、何とかできそうなのですが、
「検索」ボタンと「再設定」ボタンを、同じ場所で切り替えるのがわかりません。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
こんにちは
具体的な方法として思いつくのは、
・表示状態の異なるものを両方用意しておいて、それの表示/非表示を切替える
・それぞれの要素の状態を書き換える
あたりでしょうか。
>ラジオボタンを入力出来なくするのは、何とかできそうなのですが、
>「検索」ボタンと「再設定」ボタンを、同じ場所で切替えるのがわかりません。
ボタンだけでも同様です。
両方用意しておいて、表示/非表示を切替えても良いですし、「検索」と「再設定」の表示を変えるだけなら、input要素のvalue属性を書換えても済みますね。
以下一例です。
入力欄はdisableに、submitボタンは表示文字を書き換えるという方法です。
window.addEventListener('DOMContentLoaded', ()=>{
document.forms[0].addEventListener('submit', (e)=>{
const v = ['検索','再設定'], f = e.target;
let btn = f.querySelector('input[type="submit"]');
let n = (1 - v.indexOf(btn.value)) % 2;
e.preventDefault();
btn.value = v[n];
f.querySelectorAll('input').forEach((t)=>{
t.disabled = t!=btn && !!n;
});
});
});
ありがとうございます!!
やりたいことが実現できました。
javascriptは難しくて、まだまだ勉強しなければ。
感謝いたします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onClick="this.form.submit
-
onclickで2個指定するには?
-
formを書き換えて送信する方法
-
一つのページで二つのFormを別...
-
フォーム内で記入したクエリ送...
-
submitするとなぜか2度実行する
-
VBSでブラウザ上のテキストボッ...
-
onclickをEnterキーでも行いたい
-
ボタン2回押しを無効にしたい
-
confirmのOK・キャンセルを押し...
-
submitがおされた同時に JavaSc...
-
jsで質問です。 ボタンが二つ存...
-
メッセージボックスで「はい」...
-
Javascriptで二重送信を防止し...
-
return trueとreturn falseの用...
-
value内に変数を入れたい
-
プルダウン 項目が多いので先頭...
-
【jQuery】input nameの文字列...
-
フォームが空欄の時にフォーム...
-
tableの任意行にfocusをあてる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォーム内で記入したクエリ送...
-
ボタン2回押しを無効にしたい
-
confirmのOK・キャンセルを押し...
-
onclickで2個指定するには?
-
onClick="this.form.submit
-
VBSでブラウザ上のテキストボッ...
-
ボタンを押すとチェックボック...
-
submitするとなぜか2度実行する
-
confirm()で表示したダイアログ...
-
送信フォームで送信ボタンをお...
-
JavaScriptにおいてPOSTで送信...
-
jsで質問です。 ボタンが二つ存...
-
ボタン無しでフォーム内容送信
-
onclickをEnterキーでも行いたい
-
sessionの値でボタンを活性・非...
-
HTAで、こんなボタンが作りたい。
-
VBScript
-
textボックスに入力されたアド...
-
Javascriptで二重送信を防止し...
-
印刷プレビュー後のウィンドウ...
おすすめ情報