Я не уверен, почему вы видите undefined
, но я заметил, что вы не запрещаете действие отправки по умолчанию.поэтому ваша страница будет по-прежнему отправляться, а не выполняться JS.
Вам необходимо выполнить несколько действий:
- Запретить действие по умолчанию (то есть отправку)
- Сериализуйте данные формы и отправьте их через ajax.
Так что в коде это будет выглядеть примерно так:
$(document).ready(function() {
//Cache DOM reference
var form = $("#contactus");
form.submit(function(event) {
//Prevent the form from regular (non-js) submission
event.preventDefault();
//Serialize your data, using jQuery to make it easer
var data = form.serialize();
//Submit via ajax
$.post(
form.attr('action'),
data,
function(response) {
//You should modify your PHP to return a success or error code, then
//handle appropriately here - eg if (response === 'success") {...
}
);
});
});