Есть ли способ предотвратить JQuery от значений формы очистки?Почему значения формы сброса JQuery
Я создал следующий сценарий Jquery, который по существу отправляет данные формы POST в php-функцию, а затем перенаправляется на новую страницу, если выход PHP был успешным или показывал ошибку, если это не так.
$('#update').click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: 'function.php',
data: $(this).serialize(),
success: function(data)
{
if (data === 'Success') {
window.location = 'acc.php';
}
else {
alert('Please try again.');
}
}
});
});
И значения формы заполняются вторя из переменной PHP следующим образом:
<input type="text" name="name" id="name" value="<?php echo $name ?>">
Все нормально при загрузке страницы, однако после того, как я обновил значения полей через передний конец формы и нажмите submit Jquery удаляет все значения полей, отправляет пустые значения обратно на php (которые вводятся в БД) и перенаправляется на новую страницу, когда возвращается сообщение Success.
Я удалил JQuery и попытался отправить форму непосредственно на php, и она отлично работала, поэтому это определенно проблема JQuery.
EDIT: переменные PHP вытягиваются из другой функции, они первоначально отображаются в полях правильно, когда эта страница впервые загружена.
Любые идеи о том, что может быть проблемой?
'serialize()' работает только с элементами 'form', но выглядит как' # update' (и поэтому 'this') является кнопкой. Кроме того, предотвращение по умолчанию нажатия кнопки отправки не препятствует отправке формы. Прислушайтесь к событию 'submit' в форме. –