二度押し禁止と戻るボタン firefoxとopera等で問題が発生

このQ&Aのポイント
  • フォームボタンの二度押しを禁止するためのJavaScriptを作成しましたが、firefoxやopera、Macのsafariでは二度押し禁止のスクリプトが動作せず、画面を閉じるしか方法がありません。
  • IEではうまく動作していましたが、他のブラウザでは問題が発生しています。
  • どのフォームボタンを押しても二度押し禁止のスクリプトが立ち上がってしまい、画面を閉じるしか方法がありません。解決策があれば教えてください。
回答を見る
  • ベストアンサー

二度押し禁止と戻るボタン firefoxとopera等でうまくいきません

フォームボタンの二度押しを禁止するjavascriptをいろいろな人に助けられて作りました。ページが遷移する次のページに前の画面に戻るボタンとして <input type="button" value="戻る" onclick="history.back()"> を記述すると そのボタンを押して前のページに戻ってくると、どのフォームボタンを押してもfirefoxやopera、Macのsaffariでは二度押し禁止のscriptが立ち上がってしまい画面を閉じるしか方法がなくなってしまいます。 IEではうまくいってたので何かよい解決策が無いか教えてください。 Javascriptは下記のようにしています。 <HTML> <head> <title>サンプル</title> <script language="JavaScript"> var submitcount = 0; function Check() { if (submitcount > 0) { alert("二度押ししないでね。"); return false; } else { submitcount++; return true; } } </script> </head> <body> <Form Method="Post" Action="・・・・" onSubmit="return Check()"> <p> 入力 <input type="text" name="sample"></P> <br> <Input Type="Submit" Value="次へ"> </Form> </body> </HTML> 遷移先のページも同じスクリプトが書かれたフォームがあると仮定してください。そこに戻るボタンの <input type="button" value="戻る" onclick="history.back()"> があるといった感じです

質問者が選んだベストアンサー

  • ベストアンサー
  • talepanda
  • ベストアンサー率58% (45/77)
回答No.1

<body onunload="submitcount=0"> でどうでしょう。

ab-chan
質問者

お礼

talepandaさん ありがとうございました~~~~~!!! FirefoxとOperaでその一文を書き加えただけで処理が止まらないようになりました。感激です!! 本当にどうもありがとうございました。

関連するQ&A

  • JavaScriptがFirefoxで動かない・・・

    よろしくお願いいたします。 IEでは正常に動作するのですが、Firefoxで実行してみると ボタンを押しても何の反応もありません。 どのように変更すればFirefoxで動作するのでしょうか? よろしくお願いいたします。 <SCRIPT LANGUAGE="JavaScript"> <!-- function warning(){ alert("テストです。"); } //--> </SCRIPT> <FORM><INPUT type="button" value="ボタンを押して。" onClick="warning()"></FORM> 上記のコードを外部に独立させて・・・ 【コード】 <script type="text/javascript" src="sample3.js"></script> <input type = "button" name = "button3" value = "sample3" onclick = "Func3();"> 【sample3.js】 function Func3() { alert("js外部ファイル記述"); } です。 FC2ブログで活用したいのですが・・・ 改行の扱いは「HTMLタグのみ」に設定しています。 ご回答、よろしくお願いいたします。

  • 複数ボタンを制御出来る2度押し防止ボタン

    HTML5+CSS3でゲームを作っています。 フォームがあり、ボタンが複数並んでいます。 <SCRIPT TYPE="text/javascript"> <!-- function sendform(){ submitForm(); } function submitForm(){ document.form1.submit(); } // --> </SCRIPT> <FORM action="buy.cgi" method="post" name="form1" id="form1"> <button class="button8" type="submit" name="d4_buy" value="300 onclick="sendform()">300購入</button> <button class="button8" type="submit" name="d4_buy" value="400" onClick="sendform()">400購入</button> </FORM> 上記で正常に作動しますが、3G環境など通信状態の悪い時に、「300購入ボタンを押した直後に400購入ボタンを押す」と700購入が出来てしまいます。 【希望事項】 2つのボタンを連続して押しても2つ目が無効になるようにしたいというのが希望です。 ネットで調べたところ ****************************************** http://okwave.jp/qa/q627484.html ****************************************** <HTML><BODY> <FORM method="get" action="http://www.google.com/search"> <INPUT type="submit" value="submit1" onclick="this.form.q.value=this.value;this.disabled=true;this.form.submit()"> <INPUT type="submit" value="submit2" onclick="this.form.q.value=this.value;this.disabled=true;this.form.submit()"> <INPUT type="hidden" name="q" value="" > </FORM></BODY></HTML> ****************************************** という例があったため、この例に従って <SCRIPT TYPE="text/javascript"> <!-- function sendform(){ submitForm(); } function submitForm(){ document.form1.submit(); } // --> </SCRIPT> <FORM action="buy.cgi" method="post" name="form1" id="form1"> <button class="button8" type="submit" value="300 onclick="this.form.q.value=this.value;this.disabled=true;this.form.sendform()">300購入</button> <button class="button8" type="submit" value="400" onclick="this.form.q.value=this.value;this.disabled=true;this.form.sendform()">400購入</button> <INPUT type="hidden" name="d4_buy" value="" > </FORM> としてみたのですが、うまく数値の引き渡しが出来ません。(NULL となります) どのように改造すればいいか教えてください。 よろしくお願いいたします。

  • PHP処理実行後のページの遷移について

    現在、新規情報登録画面の作成を行っています。 PHPで、データベースにインサート処理後、成功したら他のページへ遷移するという処理を行いたいのですが、PHP側の処理が実行されるとページの遷移が行われず、action='遷移ページ指定'したらインサートが実行されません。 JavascriptとPHPともにまだ学習し始めたばかりの初心者で、わかりにくい質問ですが回答のほうよろしくお願いします。 <処理の流れ> 入力 ↓ 登録ボタン押す ↓ チェック ↓ チェック成功時→ページ遷移 チェック不成功時→ページ遷移なし <html> <head><title>新規登録</title> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("jquery", "1.2");</script> </head> <body> <form method="post" action="form_ad_shinki_touroku2.php" name="formA" onsubmit="return AllCheck()"> <script type="text/javascript"> 動的入力フォーム追加機能、チェック機能など </script> <?php SQLの処理など ?> <input type="submit" name="tuika" value=" 登 録 "> <input type="button" onclick="addInput()" value="フォーム追加" /> <input type="button" name="back" value=" 戻 る " onClick="location.href='javascript:history.back();'"> </form> <body> <html>

  • 2度押し防止ボタン

    HTML5 + CSS3 でスマートフォンゲームを作っています。 回線が混雑している状況でボタンを2度押ししても1回しかカウントされないボタンを作りたいと考えています。 【基本的な知見】 下記であれば要望に沿ったボタンになります。(ボタンはCSS3の標準ボタンを使用) <form action="form.cgi" method="post"> <input type="hidden" name="point" value="1" /> <SCRIPT TYPE="text/javascript"> <!-- //submitの2度押し防止 function disableButton(){ document.form1.button1.disabled = true; submitForm(); } function submitForm(){ document.form1.submit(); } // --> </SCRIPT> <input type="button" value="購 入" onClick="disableButton()" name="button1"> </form> 【やりたいこと】 「ボタンに数量を表示したいことと、ボタン上の数値表記とCGIに渡すvalueが異なることがある」ため、CSS3の標準ボタンを止め下記のオリジナルCSSのボタンを使用します。 <button class="button8" type="submit" name="point" value="1050" onClick="disableButton()"><div>50ポイント</div></button> このオリジナルCSSのボタンを使用した場合の2度押し防止のjavascriptはどのように改造すればいいか教えてください。 上記に示したjavascriptの 「document.form1.button1.disabled = true;」のbutton1をpointに変更したところ、数値をCGIに渡せませんでした。 よろしくお願いいたします。

  • 名無しformの操作

    以下のような、元々名前のないformが複数ある場合にボタンイベントで発生した共通のtest()関数内で処理を行う場合、どのフォームか識別できる方法はあるのでしょうか? テスト1、をクリックした場合、テスト1のフォームの操作を行いたいです。 <script ....... function test(???) { document.どのフォームかわからない.action="/index.cgi"; document.どのフォームかわからない.a.value="1"; document.どのフォームかわからない.submit(); } </script> <form> <input type="hidden" name="a" value=""> <input type="button" value="テスト1" onclick="javascript:test(???)"> </form> <form> <input type="hidden" name="a" value=""> <input type="button" value="テスト2" onclick="javascript:test(???)"> </form> <form> <input type="hidden" name="a" value=""> <input type="button" value="テスト3" onclick="javascript:test(???)"> </form>

  • ボタンでパラメータを渡すには

    下記の場合、ボタンでフォーム内のパラメーターをリンク先に渡すにはどうしたらいいでしょうか?どなたかご教授下さい。 --------------------------------------------------- <form action="login.html" name="Form1" onsubmit="return checkItem(Form1)"> <input type="text" name="userId" size="24"><br> <input type="password" name="password" size="24"><br> <input type="submit" value="ログインする"><br> <input type="button" value="過去のデータを見る" onClick="location.href='history.html'"> </form> ---------------------------------------------------

    • ベストアンサー
    • HTML
  • JavaScriptが表示されません

    JavaScriptの練習をしています。 階層型メニューの表示ができるようになりたいのですが、今のところは基礎からと思い、単純なところから初めて・・・みようとしたのですが どしょっぱつから、ひっかかりました ◆例1 <script language="JavaScript"> <!-- document.write(こんにちは); //--> </script> ◇結果 IE画面上に、なにも表示されません ※以前、全く同じ構文で試したときには こんにちは が表示されました。 ※環境は同じで、変わっていません ◆例2 <form> <input type="button" value="戻る" onclick="history.back()"> <input type="button" value="更新" onclick="location.reload()"> <input type="button" value="進む" onclick="history.forward()"> <input type="button" value="トップページへ" onclick="location.href='http://www.red.oit-net.jp/tatsuya/index.htm'"> </form> ◇結果 これは、表示されました。 何回試しても、ちゃんと表示されます +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ いったい何が問題なのでしょうか?

  • 「戻る」ボタンを画像でするには?

    「戻る」ボタンを画像に置き換えたいのですが、どこをIMG SCRにおきかえればできるのですか? <form> <p> <input type="button" value="戻る" onclick="history.back()"> </p> </form>

  • 「戻るボタン」 : ボタンを使わずに、・・・

    HTMLでは、戻るボタンは、 <FORM> <INPUT TYPE="button" VALUE="戻る" onClick="history.back </FORM> ですが、この動作で、 戻るボタンではなく、 <table><tr><td>戻る</td></tr></table> をクリックするようにしたいのですが、・・・ 可能でしょうか。 可能でしたら、htmlをお願いします。

    • ベストアンサー
    • HTML
  • FORMボタン

    このフォーム変なのですか? 見た目は、[年月] [GO] となっていて、 [年月]のセレクトで選んで、 [GO]ボタンを押せばそのページに飛ぶのだと思いますが、 [GO]を押さなくてもセレクトを選んだだけで動作します。 この[GO]のボタンの意味あるんでしょうか? それとも何か間違っていますか? 正しい記述方法があれば教えてください。 <form> <select name="u" onchange="JavaScript:location.href=this.value;return false;"> <option value="http://~~/2009-05-1.html">2009/05</option> <option value="http://~~/2009-04-1.html">2009/04</option> </select> <input type="button" value="GO" onclick="JavaScript: location.href=this.form.u.value; return false;" /> </form>

    • ベストアンサー
    • HTML

専門家に質問してみよう