當我console.log form
變量,它始終設置爲window
即使它在.ajax-form
類選擇器,其中包含3種形式。我如何使$(this)
成爲表格?這裏是代碼:jquery無法將其設置爲當前元素
$(document).ready(() => {
// reloading comment
$('.ajax-form').each(() => {
const form = $(this);
form.submit((event) => {
event.preventDefault();
console.log(form);
$.ajax({
type: form.attr('method'),
dataType: 'JSON',
url: form.attr('action'),
data: form.serialize(),
}).done((data) => {
console.log(data);
// location.reload();
}).fail((data) => {
const errors = data;
console.log(errors);
Object.entries(errors).forEach((error) => {
const label = form.find(`label[for='${error}']`);
label.text(error[1][0]);
});
});
});
});
});
你可以分享一些HTML解釋大致形式怎麼看'阿賈克斯,form'類元素內 – caramba
@caramba這與我的問題有什麼關係? –
我會嘗試運行你的代碼,這取決於HTML,那麼也許我可以解釋什麼,爲什麼,在哪裏。在我看來,HTML更重要的是重現你的問題,然後ajax請求部分 – caramba