我有一个PHP页面上有多个表单,我希望jQuery能够在点击提交后(不刷新页面)隐藏每个表单。每次创建php页面时,表单的id都是动态生成和唯一的。jQuery preventDefault停止序列化和随后的Ajax调用
如果我不使用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>
你还必须改变你的成功函数只是'element.hide();'你可能会摆脱'var connectid = element.attr(“id”);' – idrumgood 2012-04-16 21:36:11
是的,你是对。我改进了它。谢谢。 – gdoron 2012-04-16 21:39:53