送信するとdivに投稿するフォームがあります。さて、私は二重提出を受け取っているという問題を見つけたので、見つけたいくつかのjqueryプラグインを適用しようとしましたが、十分に速くダブルクリックした場合でも二重提出を受け取ったため、それらは役に立ちませんでした。私が見つけたものから、私はそれを防ぐための最良の方法を見ました
if (this.beenSubmitted) return false;
else
this.beenSubmitted = true;
しかし、フォームを再度送信する必要がある場合、ユーザーはフォームを送信するためにページを更新する必要があることに気付きました。私の場合、送信後に再度送信できるようにしたいと思います(内容が異なるため、矛盾していません)。それをよりよく説明するために、このフォームはアイデアを投稿します。2つの異なるアイデアを投稿したい場合は、投稿するページを更新する必要があります。十分な速さでクリックした場合、二重送信を防ぐと、同じアイデアを2回送信するのに役立ちます。だから、私がしたことは、この「5000」を追加したことです。
if (this.beenSubmitted) return false, 5000;
else
this.beenSubmitted = true;
だから、今それは私のページを更新しました。しかし、私は少しうるさいです、笑。そのため、ページ全体を更新する必要があるのは面倒です。入力してから更新するとどうなりますか。私はいつでも5000を下げることができますが、Webサイトを閲覧したり、ズームインしたりすると、リフレッシュすることになります。
だから、私の質問は、フォームを更新する方法はありますか?または、このケースで実際に機能する二重送信(数秒後に送信できる)を防ぐためのより良い方法はありますか?
これはスクリプトです:
<script type="text/javascript">
$(document).ready(function(){
$("form#myform").submit(function() {
var addcontent = jQuery('#addcontent').attr('value');
if ( addcontent.replace(/\s/g,"") == "" ) return false;
if (this.beenSubmitted) return false,5000;
else
this.beenSubmitted = true;
$.ajax({
type: "POST",
url: "post.php",
data:"addcontent="+ addcontent,
success: function(){blah blah blah, ton sof code here including pagintion here, insert into a div here also, if u need this let me know.
});
</script>
そのほとんどは、ここで質問をすることから行いました。私のJqueryとAjaxの知識は最高のものではありません。
助けてくれてありがとう=}