![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Reverent |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 30.5.2007 Репутация: нет Всего: нет |
Добрый день уважаемые форумчани.
Столкнулся с такой проблемой при разработке системы полуавтоматической рассылки объявлений по доскам. У меня есть база данных содержащая ссылки на доски объявлений. Когда пользователь заходит в систему появляется IFRAME в котором загружаются ссылки этих досок объявлений. Ссылка ведет изначально на выбор раздела, в который попадет объявления, вот как здесь: http://ads.posad.org/cgi-bin/do/index.cgi?a=1 Затем пользователь выбирает раздел (все это происходит в том же IFRAME моей системы) и появляется вот такая страница: http://ads.posad.org/cgi-bin/do/add.cgi?c=4 В моей системе есть форма, в которой уже все поля заполнены, пользователю лишь нужно нажать на кнопку «Послать» и объявление должно отправиться. Но вот тут то я и столкнулся с проблемой. Я назначил вот такой параметр для тэга FORM <FORM method="post" target="здесь_имя_iframe" name="message"> Но, к сожалению, форма посылаться не на страницу, которую выбрал пользователь в IFRAME, а на текущую страницу, причем она открывается в этом IFRAME. Тогда я решил, что действую не правильно, мне нужно обозначать свойство action для тэга IFRAME. Но я не могу получить нужную мне ссылку с IFRAME. Начинаю действовать так: document.getElementById("blocks").src – но этот метод не действует т.к. он выдает ссылку на изначальную страницу (в нашем примере http://ads.posad.org/cgi-bin/do/index.cgi?a=1 ) и не коем разе не следит этот параметр за передвижением пользователя Тогда пробую сделать вот так: document.getElementById("blocks").contentWindow.location.href Но скрипт говорит, что не прав доступа! Что же мне делать? Как мне решить проблему, как можно послать эту форму на этот IFRAME заранее не зная ссылку, которая является текущей для этого IFRAM’a? |
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Боюсь что никак так как браузеры блокируют обращение к контенту загруженному сдругих доменов в iframe. Возможно поможет вариант когда вы будете пропускать все через свой сервер и выбирать необходимый вам url там
|
|||
|
||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: нет Всего: 13 |
Reverent, Вам просто нужно дополнить вашу базу урлов ещё одним, который прописан в Action у формы отправки и, возможно, добавить значение hidden полей формы. Для указанной вами страницы http://ads.posad.org/cgi-bin/do/add.cgi?c=4 это будет http://ads.posad.org/cgi-bin/do/add.cgi&c=4&a=1. Думаю теперь будет несложно отправлять свою форму по нужному адресу?
-------------------- |
|||
|
||||
| Reverent |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 30.5.2007 Репутация: нет Всего: нет |
Именно так и хотел сделать, когда руки уже опустились, но тогда количество работы у заказчика в админской системе возрастет, что будет не очень то оптимальным вариантом :( Гениальные идеи приходят ночью! Я решил реализовать следующее. Сделал IFRAME со страницей с моего сервера. На нем находилась функция PHP которая соединялась по сокету со страницей и считывала ее. Затем сделал парсер который делает вот так: Берет вот это <a href="http://blablabla.ru/add.php?a=1"> и переводит вот в это: <a href="javascript:linkGo('http://blablabla.ru/add.php?a=1')"> Зетем когда пользователь получает такую страницу во фрейме, выглядит она так же как будто он набрал ее адрес, но все ссылки работают только через функцию linkGo Когда же пользователь жмет на ссылку происходит переход в эту функцию которая получает в значении выбранную ссылку. Функция сохраняет ее в глобальной переменной и запускает тот же самый скрипт PHP только теперь с выбранной ссылкой. Таким образом круг замкнулся - пользователь может ходить по сайту, даже не подозревая что это уже не совсем тот сайт. Затем все элементарно, когда пользователь жмет заполнить форму, функция считывает глобальную переменную с текущей ссылкой и подставляет ее в поле action, форма посылается в тот же IFRAME - на выходе получаем ответ от сайта, прошла ли форма или была ошибка. Все оказалось элементарно и просто! ;) - думаю мой бриф комунибудь в будущем поможет Это сообщение отредактировал(а) Reverent - 16.6.2008, 05:56 |
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Reverent я помоему как раз об этом и говорил
|
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |