- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть форма 1 с полями A и B, форма 2 с полями C и D, кнопка отправить находится вне этих форм, у нее есть своя форма 3 с полями E и F.
Задача такая, нужно отправить данные из всех форм по нажатию "отправить" в форме 3.
Что я делаю, я по очереди делаю serialize всех форм, склеиваю все с амперсантом, получаю урл формы 3, делаю $.ajax с установленным async:false (мне нужно сэмулировать обычное нажатие на кнопку, не асинхронный запрос) и получаю
Как выйти из ситуации? как мне выполнить задачу?
p.s. ajax асинхронный не предлагать, жестко вырезать поля (html) всех форм, вставлять в форму 3 и отправлять - тоже не предлагать.
Какие есть варианты?
по клику, собрать данные со всех трех форм и в виде хидденфилдов передать
имхо
silicoid, как передать? нужно вставлять эти хидденфиелды в блок с формой которая отправляется?
Чем вас не устраивает $.get(); $.post(); от JQuery, зачем использовать $.ajax();
SocFishing, в теме написал чем, async:false - deprecated, а мне нужно послать синхронный запрос!
самое удивительное что такие персонажи как-то выживают в нашем мире :) ну вот написано - не ходи на красный свет, а чел, нифига, мне надо именно на красный свет! и не предлагайте мне подождать зеленого! я же сказал мне надо именно на красный! и ведь не "задавили" еще :) вот это и удивительно :)
Хм, а что же мешает симулировать обычное нажатие с асинхронным запросом?
vob2014, да, бывает такая ситуация когда нужно идти только на красный
vob2014, да, бывает такая ситуация когда нужно идти только на красный
Бывает, но пока мы здесь такую ситуацию не видим. Объясните нам почему нельзя это сделать асинхронным запросом? Что мешает ту же самую последовательность действий в синхронном запросе выполнить в асинхронном? Выполнился один запрос - запускаете второй и тд.
siv1987, есть страница (бэк на java написан и я не могу там что-то изменить), она принимает данные, если полей не хватает то она выводит поля с ошибками, если все впорядке то редиректит на следующую. Я думаю получать аяксом кусок html и парсить его - плохой вариант, тем более если пришли поля с ошибками то нужно их будет js'ом подсвечивать и еще вставлять имеющиеся данные (кот были заполнены). Вот по этой причине собственно и образовалась эта проблема, я то понимаю что это до ужаса криво...
бэк на java написан и я не могу там что-то изменить
Умудрились сделать себе проблему на пустом месте. Так не бывает как вы ее изобразили. Никаких форм с полями в природе нет, есть только http заголовки и данные под ними. Как вы их сделаете эти заголовки и данные - через форму и браузер, или самостоятельно сформулируете - никого не колебет вообще.
Хорошо, у вас там 33 формы и 666 полей и 1 кнопка. На кнопку вешаем перехватчик. Перехватчик создает новую форму и аппендит в нее все что ему сказали ЗАаппендить. ЗАаппендив - отгружает и программирует событие ответа с сервера - функцию, которая отпарсит и РАЗаппендит ответ и раскидает по заранее известным элементам в хтмле.
От обычного запроса отличие только в геморе вытекающим из цитаты в моем ответе.