2016-09-28 5 views
0

私のフォームには、私のDBにデータを挿入するフォームが1つあります。ユーザーが送信ボタンをクリックすると、ページが次のページにリダイレクトするには時間がかかりすぎるため、ユーザーはそれを2回目、3回目にクリックすることができます。この場合、挿入物は1回以上行われる。複数の投稿を許可しない

初めて送信ボタンをクリックした後に送信ボタンを無効にすることはできますか?それとも私の問題の解決策がありますか?

私はPHPを使用しています。

thx

+0

フォーム提出後に送信ボタンを無効にすることができます –

+0

コードを投稿してください私たちはより良いアイデアを得ることができます –

答えて

0

可能です。ユーザーがボタンをクリックすると、attr disabledがボタンに追加されます。あなたがそうのようにそれをクリックした後、あなただけのボタンを無効にすることができますjavascriptの使用できる場合

$(document).on('submit', '.my-submit-button', function(e) { 
    e.preventDefault(); 
    $(this).attr('disabled', 'disabled'); 
}); 
2

:jQueryを使って

が、それは次のように行うことができます。

$('.submit-button').on('click', function (e) { 
 
\t e.preventDefault(); 
 
\t $(this).attr('disabled', 'disabled'); 
 
    $(this).closest('form').submit(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form action=""> 
 
    <input class="submit-button" type="submit"> 
 
</form>

+0

Thx、これを試してみます –

0

あなたはAJAXを使用している場合は、応答までのボタンを無効にし、次のように返さ:

$("#btn").attr('disabled','true'); 

あなたは、ボタンのクリック時にボタンを無効にし、提出に成功リロード後にすることができますもう一度ページを開きます。フォームの複数の提出を解決します。

$("#btn").on('click',function(){ 
$("#btn").attr('disabled','true'); 
}); 

と同じURLにリダイレクトするためにデータをデータベースユーザーヘッダーに挿入した後。

関連する問題