我有简单的一页网站。在那里,我有15个相同的触点表格,具有相同的ID构建,并具有简单的PHP。我的麻烦:Ajax仅与第一个ID一起使用。所有其他表格打开白页,并带有"谢谢"。我的代码:
$(function () {
$('#contact-form').validator();
$('#contact-form').on('submit', function (e) {
if (!e.isDefaultPrevented()) {
var url = "contact.php";
$.ajax({
type: "POST",
url: url,
data: $(this).serialize(),
success: function (data)
{
var messageAlert = 'alert-' + data.type;
var messageText = data.message;
var alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>' + messageText + '</div>';
if (messageAlert && messageText) {
$('#contact-form').find('.messages').html(alertBox);
$('#contact-form')[0].reset();
}
}
});
return false;
}
})
});
我只有一个解决方案 - 对所有触点表格制作不同的ID,然后在JS内手动对准它们。但是我认为此代码不是很好的做法,也没有优化。请帮助覆盖此代码。我将感谢任何帮助。
id需要在页面上是唯一的。这就是为什么它不起作用的原因。
对于多个元素使用相同的ID并不是一个好习惯。所有元素都可以共享一个类名称。