как сделать чтобы при отправке формы не перезагружалась страница

Отправка формы без перезагрузки страницы

Дата публикации: 2009-11-04

как сделать чтобы при отправке формы не перезагружалась страница. Смотреть фото как сделать чтобы при отправке формы не перезагружалась страница. Смотреть картинку как сделать чтобы при отправке формы не перезагружалась страница. Картинка про как сделать чтобы при отправке формы не перезагружалась страница. Фото как сделать чтобы при отправке формы не перезагружалась страница

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

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

Одним словом, урок очень полезный!

В сегодняшнем примере мы имеем простую форму с возможностью ввода имени, адреса электронной почты и номера телефона. Как я уже и говорил, форма содержит и php скрипт и родной jQuery, в том смысле, что не нужно устанавливать и скачивать никаких дополнительных плагинов.

Шаг 1 – создаем непосредственно саму HTML форму

Давайте взглянем на наш html код. Мы начинаем с нашей основной html формы:

как сделать чтобы при отправке формы не перезагружалась страница. Смотреть фото как сделать чтобы при отправке формы не перезагружалась страница. Смотреть картинку как сделать чтобы при отправке формы не перезагружалась страница. Картинка про как сделать чтобы при отправке формы не перезагружалась страница. Фото как сделать чтобы при отправке формы не перезагружалась страница

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Вы могли заметить, что я включил div id contact_ form, который охватывает весь код формы. Вы также могли заметить, что я оставил параметры action и method пустыми. Это я сделал специально, т.к. об этом позже позаботиться jQuery.

Еще одна важная вещь. Не забудьте включить значение id в каждое поле ввода (строка начинается с тега input). Эти id значения jQuery сценарий будет искать для обработки формы.

Я добавил некоторый css стили и фоновое изображение в Photoshop для получения данной формы:

Шаг 2 – начинаем добавлять jQuery

Следующим шагом мы начнем добавлять по частям jQuery код. Я буду считать, что В уже скачали jQuery.

Далее открываем новый файл JavaScript, ссылаемся на него в xtml документе также, как и на любой другой файл JavaScript. Добавляем следующий код:

Первая функция (function()) он начинает загружать события, как только html документ готов. Если Вы уже делали какие-либо работы с jQuery, то функция такая же, как и document.ready функция. По коду можно понять, что мы имеем функцию клика по кнопке, с именем класса «button». Таким образом мы тут достигли такого же самого эффекта, как и если бы мы в поле input нашей формы добавили функцию onClick кнопки «отправить».

Шаг 3 – написание формы проверки введенных данных

Проверка первого поля: если поле для имени было оставлено пользователем пустым, мы показываем сообщение, записанное в теге label с идентификатором name_error. Затем мы помещаем фокус на поле ввода имени, на случай если пользователь запутался с тем, что ему делать дальше. (Я думаю, не стоит сильно напрягаться, когда речь идет о форме пользователей)

Объясняю, как данная вещь работает. В переменную “name” мы записываем значение, которое было введено в поле с идентификатором “name” – это всего одна строчка на jQuary.

Источник

Как сделать кнопку HTML не перезагружать страницу

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

8 ответов:

нет необходимости в js или jquery. чтобы остановить перезагрузку страницы, просто укажите тип кнопки как «кнопка». если вы не укажете тип кнопки, браузер установит его на «сброс» или «отправить» ведьму, чтобы перезагрузить страницу.

во избежание обновления на всех «кнопках», даже с назначенным onclick.

вы можете добавить обработчик щелчка на кнопку с помощью jQuery и вернуть false.

С jQuery, какой-то подобный вариант, уже упоминался.

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

Вы можете использовать форму, которая включает в себя кнопку Отправить. Затем используйте jQuery, чтобы предотвратить поведение формы по умолчанию:

из всех других возможностей, упомянутых здесь, это единственный способ, который позволяет запускать новую проверку ввода данных браузера HTML5 ( не будет этого делать ни обработчики jQuery/JS) и позволяет добавлять динамическую информацию jQuery/AJAX на странице. Например:

Источник

Как сделать кнопку HTML не перезагружать страницу

у меня есть кнопка ( ). При нажатии на нее страница перезагружается. Так как у меня есть jQuery hide() функции, вызываемые при загрузке страницы, снова скрывают эти элементы. Как заставить кнопку ничего не делать, чтобы я мог добавить действие, которое происходит при нажатии кнопки, но не перезагружать страницу.

8 ответов

нет необходимости в js или jquery. чтобы остановить перезагрузку страницы, просто укажите тип кнопки как «кнопка». если вы не укажете тип кнопки, браузер установит его на «сброс» или «отправить», чтобы перезагрузить страницу.

чтобы избежать обновления на всех «кнопках», даже с назначенным onclick.

вы можете добавить обработчик кликов на кнопку с помощью jQuery и вернуть false.

С jQuery, некоторым аналогичным вариантом, уже упомянутым.

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

Вы можете использовать форму, которая включает в себя кнопку Отправить. Затем используйте jQuery, чтобы предотвратить поведение формы по умолчанию:

Я еще не могу комментировать, поэтому я публикую это как ответ. Лучший способ избежать перезагрузки-это как @user2868288 сказал: используя onsubmit на form тег.

из всех других возможностей, упомянутых здесь, это единственный способ, который позволяет запускать новую проверку ввода данных браузера HTML5 ( не будет делать этого, ни обработчики jQuery/JS) и позволяет добавлять динамическую информацию jQuery/AJAX на страницу. Например:

Источник

Contact form 7 + popup почему перегружается страница?

в шапку добавь wp_head() если не помогает, то в wp-config добавь define (‘WPCF7_LOAD_JS’, true или false );

или вообще можно принудительно прописать в шапку:

Это не мой ответ, но у меня это сработало. Нашла ответ этого святого человека здесь

Я так поняла, что подобная проблема возникает, когда сам пытаешься написать шаблон. Мысль пришла, когда проверила работу contact form 7 на обычной теме из предложенных WP

как сделать чтобы при отправке формы не перезагружалась страница. Смотреть фото как сделать чтобы при отправке формы не перезагружалась страница. Смотреть картинку как сделать чтобы при отправке формы не перезагружалась страница. Картинка про как сделать чтобы при отправке формы не перезагружалась страница. Фото как сделать чтобы при отправке формы не перезагружалась страница

как сделать чтобы при отправке формы не перезагружалась страница. Смотреть фото как сделать чтобы при отправке формы не перезагружалась страница. Смотреть картинку как сделать чтобы при отправке формы не перезагружалась страница. Картинка про как сделать чтобы при отправке формы не перезагружалась страница. Фото как сделать чтобы при отправке формы не перезагружалась страница

как сделать чтобы при отправке формы не перезагружалась страница. Смотреть фото как сделать чтобы при отправке формы не перезагружалась страница. Смотреть картинку как сделать чтобы при отправке формы не перезагружалась страница. Картинка про как сделать чтобы при отправке формы не перезагружалась страница. Фото как сделать чтобы при отправке формы не перезагружалась страница

как сделать чтобы при отправке формы не перезагружалась страница. Смотреть фото как сделать чтобы при отправке формы не перезагружалась страница. Смотреть картинку как сделать чтобы при отправке формы не перезагружалась страница. Картинка про как сделать чтобы при отправке формы не перезагружалась страница. Фото как сделать чтобы при отправке формы не перезагружалась страница

как сделать чтобы при отправке формы не перезагружалась страница. Смотреть фото как сделать чтобы при отправке формы не перезагружалась страница. Смотреть картинку как сделать чтобы при отправке формы не перезагружалась страница. Картинка про как сделать чтобы при отправке формы не перезагружалась страница. Фото как сделать чтобы при отправке формы не перезагружалась страница

как сделать чтобы при отправке формы не перезагружалась страница. Смотреть фото как сделать чтобы при отправке формы не перезагружалась страница. Смотреть картинку как сделать чтобы при отправке формы не перезагружалась страница. Картинка про как сделать чтобы при отправке формы не перезагружалась страница. Фото как сделать чтобы при отправке формы не перезагружалась страница

Сегодня столкнулся с такой же проблемой)
У меня решение оказалось простым. В wp-config включил debug. Обнаружил что wp_head wp_footer выдают ошибку.
А значит ошибка внутри function.php. Исправил и все заработало. Если все подключено верно на этом этапе полетит. Если нет читаем дальше

Также обратил внимание что остался action=»/страница/wp7***. Здесь достаточно просто удалить тег form в конструкторе cf7.

Ну и последнее что вас спасет это зайти на офф сайт и скопировать стили и js коды в ваш проект затем подключить их как родных))

Запомните php перестает обрабатывать код если в нем ошибка. Рекомендую плагин с дебагом. Если js шалит в консоле вы это заметите.
Если пусто в обоих случаях значит в разметке дело. Всем добра

как сделать чтобы при отправке формы не перезагружалась страница. Смотреть фото как сделать чтобы при отправке формы не перезагружалась страница. Смотреть картинку как сделать чтобы при отправке формы не перезагружалась страница. Картинка про как сделать чтобы при отправке формы не перезагружалась страница. Фото как сделать чтобы при отправке формы не перезагружалась страница

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

Источник

Отправить форму без перезагрузки страницы

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

Я предполагаю, что форма должна быть отправлена ​​на страницу php, верно?

16 ответов

Вам нужно будет отправить запрос ajax, чтобы отправить электронное письмо без перезагрузки страницы. Посмотрите на http://api.jquery.com/jQuery.ajax/

Ваш код должен выглядеть примерно так:

Я нашел то, что считаю более простым способом. Если вы поместите Iframe на страницу, вы можете перенаправить выход действия там и заставить его отображаться. Вы ничего не можете сделать, конечно. В этом случае вы можете установить отображение iframe на none.

Вы либо используете AJAX, либо

И в вашей форме сделайте это.

и сделать кадр невидимым в вашем CSS.

это именно то, как он МОЖЕТ работать без jQuery и AJAX, и он работает очень хорошо, используя простой iFrame. Я люблю его, работает в Opera10, FF3 и IE6. Благодаря некоторым из вышеперечисленных плакатов, указывающих мне правильное направление, это единственная причина, по которой я публикую здесь:

код php, генерирующий страницу, которая вызывается выше:

Отправка формы без перезагрузки страницы и получение результата отправленных данных на той же странице

Вот часть кода, который я нашел в интернете, который решает эту проблему

Индексный файл:

server_action.php

Вы можете попробовать установить целевой атрибут вашей формы в скрытый iframe, чтобы страница, содержащая форму, не была перезагружена.

Я пробовал это с загрузкой файлов (что, как мы знаем, невозможно сделать через AJAX), и это работало прекрасно.

Теперь не будет перенаправления или обновления. Итак, вы просто делаете ajax-вызов из func() и делаете все, что хотите, когда вызов заканчивается.

Пример:

Вы пытались использовать iFrame? Нет AJAX, и исходная страница не будет загружаться.

Вы можете отобразить форму отправки как отдельную страницу внутри iframe, и когда она будет отправлена, внешняя страница /страница контейнера не перезагрузится. Это решение не будет использовать какой-либо AJAX.

Я сделал что-то похожее на jquery выше, но мне нужно было сбросить данные формы и графические вложения. Итак, вот что я придумал:

Это хорошо работает для меня, для вашего применения только HTML-формы мы можем упростить этот код jquery следующим образом:

Вам нужно будет использовать JavaScript, не приводя к iframe (безобразный подход).

Вы можете сделать это в JavaScript; использование jQuery сделает его безболезненным.

Я предлагаю вам проверить AJAX и Posting.

если вы отправляете на ту же страницу, где находится форма, вы можете написать теги формы без действия, и она будет отправлена ​​следующим образом

Страница будет перезагружена, если вы не хотите использовать JavaScript

Я много раз пытался найти хорошее решение, и ответ @taufique помог мне прийти к этому ответу.

Вот несколько jQuery для публикации на странице php и возврата html:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *