2013-12-09 3 views
0

Я не уверен, что это возможно, но можно добавить ajax в более старую нормальную форму php или она должна быть новой/перестроенной?Отправка старой формы PHP через AJAX/jQuery?

У меня есть форма, со всеми правильными полями и анти-спам все готово, но должен быть представлен через АЯКС без нагрузки/страница ..

php form code here...

Я не знаю, как сложно или даже возможно, если нет, мне придется попытаться построить новый с нуля с помощью учебника, но ни у кого из них, похоже, нет антиспама.

+0

Да вы можете. Старая форма все еще может использоваться в браузерах без активации JavaScript. – RRikesh

+0

Думаю, вам нужно разбить код. Форма и AJAX в 1 файле, который отправляет в PHP-файл с вашим PHP-кодом. – putvande

+0

По существу отправьте форму, она появляется внизу нижней страницы и текущая, она представляет все прекрасное, но загружает страницу и, таким образом, переместится обратно наверх ... – user4630

ответ

0

Вы можете отправить это через AJAX. Вот короткая версия ответа:

Вместо этого: action='', вам необходимо разместить его в обработчике формы Javascript, который представляет форму в фоновом режиме и возвращает ответ. Если вы используете jQuery, это легко, потому что вы можете использовать $.ajax() для отправки данных. Обновление: @ Ответ Рейгеля показывает, с чего начать.

Заканчивать в API для этого: http://api.jquery.com/jQuery.ajax/

Таким образом, вы бы изменить action='' и ответ от формы, путем проверки XHR с использованием метода так: http://davidwalsh.name/detect-ajax ... это самое важное изменение ваш PHP-код. Вам нужно вернуть ответ JSON или что-то, что ваш клиентский JavaScript может уйти, чтобы знать, что делать дальше.

+0

Спасибо, я посмотрю, посмотрим, если я могу понять это. – user4630

+0

Что-то, о чем вы захотите подумать, это 'MVC' как шаблон дизайна, если вы входите в' AJAX' специально. Это шаблон Model-View-Controller. Это сильно изменит ваше приложение, но это будет путь в долгосрочной перспективе. Подумайте об этом на будущее. – digitalextremist

1

вот начало ...

$('#oldFormId').on('submit',function(e){ 
    e.preventDefault(); // stops the page from loading... 
    // do the ajax thing here.. visit http://api.jquery.com/jQuery.ajax/ 
}) 
Смежные вопросы