jQueryを使用してデータをデータベースに保存するフォームがあります。成功応答では、フォーム上の送信ボタンを無効にして再送信できないようにしたいと考えています。私は試しました$(this).find("button[type='submit']").prop('disabled',true);
しかし、それは動作していないと私はなぜ理解していない。誰が何が間違っているのか教えてくれますか?jQueryでAjaxレスポンス後にサブミットボタンを無効にするには?
フォーム
<form action="" id="like_unlike" method="" enctype="multipart/form-data">
<input type="hidden" name="file" value="<?php echo $page_id;?>" />
<input type="hidden" name="userid" value="<?php echo $_SESSION['user_session'];?>" />
<span> <button type="submit" id="like" class="btn btn-default btn-small" name="like"><span class="icon-heart-empty"id="heart"></span>
<span class="submit-text" id="count"><?php echo $rowcount?></span></button></span>
</form>
jQueryが
$("#like_unlike").submit(function(e) { //Second Form
e.preventDefault();
var url = "update.php"; //Grab URL from form
var formdata = $(this).serialize();
console.log(formdata);
$.post(url, formdata, //Post the form
function(response) {
$('#count').html(response);
$(this).find("button[type='submit']").prop('disabled',true);
});
});
});
理由だけではなく、要素を見つけるために、IDを使用していませんか? – mrogers
おそらく 'this'はあなたが思うものではないからだと思います。http://stackoverflow.com/questions/8684669/jquery-this-problems- with-post –
@Paulリンクはあなたの問題を解決しましたか? –