2016-03-01 8 views
-2

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

Друг, рекомендованный googling JQuery Post, но я не мог это понять, поэтому было интересно, может ли кто-нибудь здесь помочь мне или помочь мне в учебнике или что-то в этом роде?

Заранее спасибо

+0

Ваш друг дает хороший совет. Насколько вы знакомы с jQuery и AJAX? jQuery просто делает общую функциональность javascript намного менее болезненной для записи. – 2bigpigs

+0

перенаправляет, потому что в форме есть атрибут действия. вам нужно это изменить. – Mox

+0

Есть много, много сообщений об этих вещах, вы должны смотреть и читать, вы не научитесь программировать через минуту. – Cuchu

ответ

1
<!--Add an ID to your form--> 
<form action="something" method="post" id="formId"> 
    <!--Your form goes here--> 
    <input type="submit" value="Submit button"/> 
</form> 

Теперь ваш JQuery/JavaScript может выглядеть!

<script> 
    $('#formId').on('submit',function(e){ 
     e.preventDefault();//this stops your page from default action 
     //now serialize form and make $.ajax() request. 
     //on response show success but you may now chose not to reload the page 
    }); 
</script> 

Вот ссылка, которая может помочь Submitting HTML form using Jquery AJAX

0

Как вы знакомы с JQuery/Ajax?

Что вы хотите сделать, это сделать jQuery, используя ajax, чтобы отправить форму, а не браузер, представляющий всю форму.

Вы хотите сделать это:

  1. На $.document.ready Использование form.submit зарегистрировать обработчик событий.
  2. Внутри обработчика предотвратите отправку формы, как обычно, используя event.preventDefault. Это предотвратит перенаправление. В случае, если ваш код содержит ошибку
  3. сериализовать данные формы с использованием serialize
  4. ли асинхронный пост запрос с использованием $.post. Убедитесь, что вы предоставили отказоустойчивый обработчик.

Существует достаточно примеров кода в ссылках + Я верю в чтение документации, чтобы вы знали, что делает ваш код.

Я думаю, что вызов preventDefault должен быть в конце. В случае, если ваш код имеет ошибку, форма вернется к методу отправки по умолчанию (тот, который перенаправляется, которого вы хотите избежать, но по крайней мере он будет продолжать работать)

+0

Я не знаком ни с одним из них. Это самый сложный веб-сайт, который я попытался раньше, поэтому я стараюсь изучить все это и создать для них что-то функциональное. Спасибо за совет, хотя, я просмотрю ссылки и посмотрю, что я могу понять из этого. Очень признателен – DJGB