電子書籍の厳選無料作品が豊富!

お世話になります。
超初心者です。

下記のLINKボタンを二度押し防止したいのです。
function post()のjavascript にどう書き足せば
2度押し防止できるでしょうか?
できるだけ簡単な式ですと助かるのですが。
どづか宜しくお願い致します。


function post(){
var postform = document.getElementById("form_name");
postform.action = './link.php?no=1';
postform.submit();}

<input type="button" value="LINK" onclick="post();">

A 回答 (2件)

<script type="text/javascript">


var oshitayo = 0;

function post(){
if(oshitayo==1){
alert("2度押しだべ");
return;
}else{
oshitayo = 1;
}
var postform = document.getElementById("form_name");
postform.action = './link.php?no=1';
postform.submit();}
</script>
<input type="button" value="LINK" onclick="post();">


厳密ではありませんが簡易的に・・・
    • good
    • 1
この回答へのお礼

回答頂きましてありがとうございました。
期待通り動きました。
こちらですとjavascriptだけの変更で済みました。
考え方も少しわかったような気がします。
とてもためになりました。
素晴らしいです。
重ねまして本当にありがとうございました。
また何かありましたら是非よろしくお願い致します。

お礼日時:2014/03/25 16:37

押せなくすればよいのであれば、当該ボタンをdisabledにしてあげればよいのでは?



表示も変わるので、閲覧者にもわかります。ただし、リロードすればもとに戻ってしまいます。
リロードしても継続したい場合は、サーバ側で管理するとか、cookieを利用するとか…
一定時間経過すれば押せるようにするなら、disabledをセットする時に、同時に解除の予約を行っておくとか…


とりあえず、単純にdisabledにする例
(submit時に当該ボタンの情報は送られなくなります。送りたいなら送信後にdisabled)

function post(elm){
 elm.disabled = "disabled";
 var postform = document.getElementById("form_name");
 postform.action = './link.php?no=1';
 postform.submit();
}

<input type="button" value="LINK" onclick="post(this);">
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
これでも期待通りの動きができることがわかりました。
こちらの方が文字数が少なくて便利そうなのですが、
ボタンを onclick="post(this);にしなくてはならないのですね。
今度最初から作るときはこうしたいと思います。
重ねまして本当にありがとうございました。
また何かありましたら是非よろしくお願い致します。

お礼日時:2014/03/25 16:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!