Можна перевірити (перехопити) дані форми після того, як користувач натиснув submit. При цьому, якщо щось заповнене неправильно то відправка не відбудеться і дані збережуться на сторінці. Якщо ж все заповнено, то дані відправляються.
Розглянемо механізм перехоплення відправки даних:
Як бачимо за особистими підписами, до форми з id myform прив'язаний даний обробник. Якщо ми спробуємо відправити форму через submit, то даний JQuery скрипт перехопить його і виконає свої перевірки. Тут він перевіряє - чи заповнені перед відправкою поля field1 і field2 - якщо немає, то зупиняє відправку форми через php. Якщо все в порядку, то передає всі дії php оброблювачу.
Щоб зрозуміти скрипт у дії раджу вам завантажити приклад, який наочно показує, як все працює.
Дані файли встановіть в корінь сайту або на Денвер і тестируйте.
PS Сам давно шукав цей код, і нарешті знайшов його. Замість alert - можна використовувати зміна кольору на червоний тих полів, які не вірні.