0
我有一個表單分割成三個div,以手風琴風格顯示並在Ajax調用中提交,但似乎頁面正在重新加載,因爲顯示的任何手風琴div都會在調用後隱藏。我想我已經阻止了正確的默認行爲,但似乎我錯過了一些東西。頁面重新加載Ajax成功
//------------------ 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();
});
您的'#submit'元素是否在表單內?如果沒有,您也可以在點擊該元素時設置「preventDefault」。 –
不,這是一個窗體外的按鈕元素,這就是爲什麼我沒有防止默認它。 – user2232681