Отправьте $.post
только после отправки функции (следовательно, обработчик события <form_selector>.submit( ... )
, см. .submit()
.
Обратите внимание, что я сохранил часть $(document).ready
.Цель этого состоит в том, чтобы дождаться загрузки всех других сценариев и DOM, прежде чем делать такие вещи, как привязка событий к элементам в DOM (например, к этой форме), потому что если элементы, к которым вы привязываетесь, не загружаются в данный моментпривязка выполняется, вместо этого ничего не произойдет.
$(document).ready(function() {
$("form#myForm").submit(function() {
$.post($(this).attr("action"), $(this).serialize(),
function(data) {
if (data == "") { alert("No data returned!"); return; }
// otherwise set the content div to the data we received
$('div.content').html(data);
}
);
// disable normal submitting of the form since we use ajax now
return false;
});
});