複数のフォームを持つphpページがあり、送信がクリックされた後にjqueryで各フォームを非表示にしたい(ページを更新せずに)。フォームの ID は動的に生成され、php ページが作成されるたびに一意になります。
を使用しない場合preventDefault
、以下のスクリプトはデータを送信しますが、ページを更新します (これは望ましくありません)。を使用するpreventDefault
と、フォームは引き続き送信されますが、データはありません (動作してserialize
いないようです)。
<script>
$(document).ready(function() {
$(".connection").click(function(e) {
e.preventDefault();
var data = $(this).serialize();
var element = $(this);
var connectid = element.attr("id");
$.ajax({
url: "/beta/membersarea.php",
type: "POST",
cache: false,
data: data,
success: function(data) {
$("#connected_" + connectid).hide();
}
});
});
});
</script>