Когда я вызываю функцию с предупреждением, работает напасть:
function post() { var cvs = $('#client-nbr').val(); var cs = $('#cs').val(); $.post('a.php' {postcvs:cvs,postch1:cs}); alert("The function work"); }
И html-форму вот так:
<form action="b.php" method="post" onsubmit="return post()">
Проблема в том, что когда я удаляю предупреждение из функции $ .post, это не работает:
function post() { var cvs = $('#client-nbr').val(); var cs = $('#cs').val(); $.post('a.php' {postcvs:cvs,postch1:cs}); }
Помощь Pls 🙂
Поскольку post()
не имеет оператора return
, функция onsubmit
заканчивается возвратом undefined
.
Поскольку он не возвращает false
, он не отменяет нормальное поведение формы. Следовательно, форма отправляет и выгружает страницу до разрешения Ajax-запроса.
Включение alert
задерживает разгрузку страницы, пока вы не нажмете OK , что дает время для разрешения Ajax.
return false
из функции post
чтобы отменить обычную подачу формы.