我有一个表格被分割成三个div,以手风琴风格显示并在Ajax调用中提交,但似乎页面正在重新加载,因为任何显示的手风琴div都会在调用后隐藏。我想我已经正确地阻止了默认操作,但似乎我错过了一些东西。
//------------------ accordion -------------------------------------
$('.heading').on('click', 'img', function() {
var x = $(this).parent().next('div');
$(x).slideToggle(function() {
if($(x).not(":hidden")) {
$(this).prev().find('img').attr('src','images/triangle_red_up.jpg');
}
if($(x).is(":hidden")) {
$(this).prev().find('img').attr('src','images/triangle.jpg');
}
});
});
Ajax
//------------------ form submit -----------------------------------
$('form').submit(function(e) {
e.preventDefault();
var datastring = $(this).serialize();
$.ajax({
type: "POST",
url: "includes_php/pU_6.php",
data: datastring,
dataType: "json",
success: function(data) {
messages(data);
}
})
})
$('input#submit').click() {
$('form').submit();
});
答案 0 :(得分:0)
试试这个
$('#submit').click() {
e.preventDefault();
var datastring = $('form').serialize();//if you have a form id use $('<frm id>').serialize()
$.ajax({
type: "POST",
url: "includes_php/pU_6.php",
data: datastring,
dataType: "json",
success: function(data) {
messages(data);
}
});
});
答案 1 :(得分:0)
我的不好 - 在messages()函数中有一个location.reload。