2013-07-29 16 views
5

ログインページに[送信]ボタンがあります。私はthis.disabled = true;クエリーでうまく動作し、ボタンを無効にした後、次のページに行くと、once.I'tsをクリックした後に送信ボタンを無効にしたい。問題は、ページをサーバーから再ロードしていないため、バック・ボタンを押しても無効になっていることです。ローカル・キャッシュからロードしています。ログインページに戻るたびにボタンを有効にしたい。私はキャッシュをクリアすることができますが、それはサーバーからロードされ、プロジェクトが遅くなるようないくつかの問題があります。これを行う最善の方法は何でしょうか?問題をクリックした後にボタンが無効になる

<script> 
$(document).ready(function(){ 
    $(document).on('click','button',function(){ 
     this.disabled = true 
     window.location="https://www.google.co.in/" 
    }) 
}) 
</script> 
<body> 
<button type="submit" id="button">Click Me!</button> 
</body> 
+0

ない理由別のページに移動する場合は無効にする必要がありますか? – Sergio

+0

@Sergio - おそらく複数のフォームの投稿やその程度のものを避けるためです。 – sbeliv01

+0

@ sbeliv01、可能です。より良いOPのアイデアを理解するだけで好奇心。 – Sergio

答えて

2

私はこのことができます願ってい (あなたがボディにそれを削除することができます)のコードは再びそれを有効にないことを証明するためにボディHTMLで無効にボタンに最初のdisabled属性を設定します。

<script> 
$(document).ready(function() { 
$("#button").removeAttr('disabled'); 
$("#button").click(function(){ 
     $(this).attr('disabled','disabled'); 
     window.location="https://www.google.co.in/" 
    }); 
}); 
</script> 
<body> 
<button type="submit" id="button" disabled="disabled">Click Me!</button> 
</body> 
+0

@StevelKBブラウザでうまく動作し、アンドロイドではありません。 – Nullify

+0

あなたの質問にアンドロイドタグを追加してもよろしいですか、ありがとう! – SteveKB

2

ページロード時にボタンが有効になっていることを確認する別のイベントが必要です。同様の種類:

<script> 
$(document).ready(function(){ 
    $("#button").disabled = false; 
    $(document).on('click','button',function(){ 
     this.disabled = true 
     window.location="https://www.google.co.in/" 
    }) 
}) 
</script> 
<body> 
<button type="submit" id="button">Click Me!</button> 
</body> 

私はので、私は構文が100%であるのかはわからないが、それはあなたの右のアイデアを与える必要があり、これを実行してみてくださいませんでした。

+0

ボタンを無効にし、クリックして有効にします。 – mikeswright49

+1

いいえ。無効にはonclickリスナー内でtrueに設定されています。 Document.ready()は、ページのレンダリング後に呼び出されます。このコードは、ページレンダリング後のボタンを有効にします。キャッシュからロードされた場合に.ready()が呼び出されるかどうかはわかりません。 – retrohacker

+0

あなたは質問を注意深く読んでください。button enableは$( "#button")を発火させると動作します。クリックバックボタンをクリックすると、キャッシュからページを返すクエリが発生しません – Nullify

関連する問題