0

重複の可能性:
クライアント側から複数のフォームが送信されないようにする方法は?

使用しているプロジェクト管理ツールがありますが、ユーザーがタスクの下でログを送信すると、送信ボタンが数回クリックされます。これにより、同じ情報の複数のエントリが追加されます。

私はPHPファイル内のコードを追跡し、送信クリックに対する多くの解決策をオンラインで見てきました。ここ 4、5 時間遊んでいますが、残念ながら何も動作しませんでした。誰かが少し助けてくれることを願っていました:

これは、PHP ファイルにあるコードです。

<input type="submit"  class="button" value="<?php echo $AppUI->_('update task'); ?>" onclick="updateTask();" />

事実上、ユーザーにボタンをクリックしてもらいたいだけで、1回のクリックの後です。グレー表示されているか、ユーザーがクリックできなくなっています。

ありがとうございました

4

2 に答える 2

5

機能のボタンを無効にするだけupdateTask()です:

document.getElementById("mysubmit").disabled = true; 

これは、送信ボタンに ID を追加することを前提としています。

AJAX 送信の場合は、送信が失敗したときにボタンを再度有効にしてください。

于 2012-10-26T13:07:26.347 に答える
3

updateTask() スクリプトで単にボタンを無効にしないのはなぜですか?

document.getElementByID("myButton").disabled='disabled'

updateTask 関数が一般的すぎる場合、ボタンはそのボタンだけを処理するより具体的な関数を呼び出すことができます。

function myButtonClicked() {
    document.getElementByID("myButton").disabled='disabled';
    updateTask();
}

次に、updateTask の代わりに myButtonClicked を呼び出すようにボタンを変更します。

<input type="submit" ... onclick="myButtonClicked();" />
于 2012-10-26T13:06:45.380 に答える