Вам придется делать что-то вручную с помощью AJAX-вызова сервера. Это также потребует от вас переопределения формы.
Но не волнуйтесь, это проще простого. Вот обзор того, как вы будете работать с формой:
- переопределить действие отправки по умолчанию (благодаря переданному объекту события, у которого есть
preventDefault
метод)
- взять все необходимые значения из формы
- запустить HTTP-запрос
- обработать ответ на запрос
Во-первых, вам нужно отменить действие отправки формы следующим образом:
$("#myform").submit(function(event) {
// Cancels the form's submit action.
event.preventDefault();
});
А затем возьмите значение данных. Предположим, у вас есть одно текстовое поле.
$("#myform").submit(function(event) {
event.preventDefault();
var val = $(this).find('input[type="text"]').val();
});
А затем отправьте запрос. Давайте просто предположим, что это запрос POST.
$("#myform").submit(function(event) {
event.preventDefault();
var val = $(this).find('input[type="text"]').val();
// I like to use defers :)
deferred = $.post("http://somewhere.com", { val: val });
deferred.success(function () {
// Do your stuff.
});
deferred.error(function () {
// Handle any errors here.
});
});
И это должно обойтись.
Примечание 2: для анализа данных формы желательно использовать плагин . Это сделает вашу жизнь действительно легкой, а также обеспечит приятную семантику, имитирующую фактическое действие отправки формы.
Примечание 2: вам не нужно использовать отсрочки. Это просто личное предпочтение. Вы также можете сделать следующее, и это тоже должно сработать.
$.post("http://somewhere.com", { val: val }, function () {
// Start partying here.
}, function () {
// Handle the bad news here.
});