
似たような質問があり、申し訳ありません。
前回私の説明不足で私の求めていた回答が無かったので
再度、詳しい説明をして質問します
Javascriptで最初からdisabled状態のボタンを
一定時間秒後に有効化して、
2度押し防止(1回押すとdisabed化)で5秒後にページ移動がないと
disabled解除にしたいのですが、どうすればいいでしょうか?
簡単に順序を書くと
1.[disabled状態のボタンが存在する]
2.[一定時間経過するとdisabled状態のボタンが有効化]
3.[1回クリックするとボタンがdisabled化]
4.[5秒後にボタンのdisabled解除]
としたいのですが、そこに補足があって
<head>の中に記述するタイプで
複数のボタンに使えるタイプがいいんです。
なおかつ一定時間(30秒や15秒など)を個別設定したいんですが、
複雑すぎて、難しいのでどなたか教えてください。

No.4ベストアンサー
- 回答日時:
<html>
<head>
<script>
window.onload=function(){
clrTmbtn('a',1000);
clrTmbtn('b',2000);
clrTmbtn('c',3000);
}
function clrTmbtn(i,t){ setTimeout("disbtn('"+i+"')",t);}
function disbtn(i){ if(typeof(i)=='object') obj=i; else obj=$(i); obj.disabled = !obj.disabled;}
function $(i){ return document.getElementById(i);}
function exe1(){
//適当な処理
}
</script>
<body>
1秒置きに解除。クリック後、数秒で解除
<input type="button" id="a" value="test1" disabled onClick="disbtn(this);exe1();clrTmbtn('a',1000)"><br>
<input type="button" id="b" value="test2" disabled onClick="disbtn(this);exe1();clrTmbtn('b',2000)"><br>
<input type="button" id="c" value="test3" disabled onClick="disbtn(this);exe1();clrTmbtn('c',3000)"><br>
</body>
</html>
No.3
- 回答日時:
#2です。
書き忘れましたがあくまでサンプルです。
他にjavascript使ってると、その内容によっては一方がもう一方に干渉して動きません。
どちらか、あるいは両方手直しする必要があるかも。
No.2
- 回答日時:
サンプルです。
設定が何番目か、って事で面倒だけど、body内には手を加えたくないようなので… せめてIDでも付けられればもっと簡単になります。
<html>
<head>
<title></title>
<style type="text/css">
</style>
<script type="text/javascript">
var setting = {
0:3000, // 0番目のdisabledのinputは3秒間無効化
1:5000 // 1番目のdisabledのinputは5秒間無効化
}
window.onload = function(){
var INP = document.getElementsByTagName('input');
var x = 0;
for(var i=0;INP[i];i++) {
if(INP[i].disabled) {
setting[x] = [setting[x],INP[i]];
INP[i].onclick=Function('ocH('+x+')');
ocH(x);
x++;
}
}
}
function ocH(x){
setting[x][1].disabled = true;
setTimeout(
Function('setting['+x+'][1].disabled = false;'),
setting[x][0]);
}
</script>
</head>
<body>
<form onsubmit="return false">
<input type="text" name="A" value="bbb">
<input type="submit" value="送信ボタン1" disabled>
</form>
<p>
<input type="button" value="ボタン1" disabled>
</p>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタン無しでフォーム内容送信
-
confirmのOK・キャンセルを押し...
-
確認ダイアログの出し方(JavaS...
-
onClick="this.form.submit
-
サイト内の物件を複数の検索条...
-
return trueとreturn falseの用...
-
ラジオボタンにタブインデック...
-
selectメニューのselectedの位...
-
プルダウン 項目が多いので先頭...
-
<input>の選択肢をプルダウンメ...
-
JAVASCRIPT
-
slickのレスポンシブ > center...
-
ブラウザの戻るボタンを押した...
-
Webブラウザにてページのりロー...
-
Selectボックスの幅を自動で広...
-
クリックごとに文字色が交互に...
-
クリックされた罫表セルの行番...
-
javascript による POST 送信時...
-
html selectの内容を初期値に戻す
-
リンク先アドレスの一部にテキ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onclickをEnterキーでも行いたい
-
フォーム内で記入したクエリ送...
-
sessionの値でボタンを活性・非...
-
ボタンを押すとチェックボック...
-
確認ダイアログの出し方(JavaS...
-
jsで質問です。 ボタンが二つ存...
-
submitするとなぜか2度実行する
-
ボタン無しでフォーム内容送信
-
Javaのダイアログについて
-
VBSでブラウザ上のテキストボッ...
-
onClick="this.form.submit
-
メッセージボックスで「はい」...
-
VBScript
-
formに色をつけたい
-
onclickで2個指定するには?
-
Comfirm応答の後処理
-
ボタンが押されると同時にデー...
-
別ファイルの共通関数をHTMLで...
-
複数のsubmitによって送信する...
-
フォームに入力された値をリン...
おすすめ情報