[help]как реализовать зполнение формы с одного фрейма в другой?

Тема в разделе "Другие языки", создана пользователем zverOK, 1 май 2008.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. zverOK

    zverOK Постоялец

    Регистр.:
    15 фев 2008
    Сообщения:
    133
    Симпатии:
    115
    Нужно сделать вот такое.

    - Имеется страница с 2-мя фреймами и кнопка "Заполнить".

    - В 1-й фрейм загружается страничка из Интернета с кучей не заполненных полей.
    - Во 2-ой фрейм загружается уже готовые поля с заполненной информацией, которые берутся из базы данных на компе.

    - И при нажатии на кнопку "Заполнить" - форма в 1-ом фрейме должна заполняться по аналогии со 2-ой. То есть , что-то вроде заполнялки по клику(дабы облегчить работу)

    Пробывал на JavaScript - не прокатило:confused: по соображениям безопасности IE.:(

    Пожалуйста, помогите. Может кто-то сталкивался уже?:bc:

    P.S: это не для спама, а для облегчения работы с базой. Так как приходиться в инете вводить ту же информацию , что ведется и на локалке.
     
  2. citrus

    citrus Постоялец

    Регистр.:
    5 ноя 2006
    Сообщения:
    58
    Симпатии:
    8
    так настрой ИЕ или используй другой броузер
     
  3. zverOK

    zverOK Постоялец

    Регистр.:
    15 фев 2008
    Сообщения:
    133
    Симпатии:
    115
    Пробывал во всех браузерах - тоже не работает. Может я что-то не правильно делаю?:nezn:

    Если у тебя есть рабочий пример - предоставь его.:) Или опиши как это сделать.

    Так как спрашивал во многих форумах - говорят, на Javascript это сделать не получиться.:(

    P.S: если у кого-то есть рабочий пример сие добра - выложите или поделитесь опытом построения данной "заполнялки":bc:

    Добавлено через 5 минут
    Вот примитивный код того, что я хочу сделать:

    HTML:
    <iframe src='http://www.site.ru' width=100% height=300 name='aspnetForm'></iframe><br>
    <iframe src='./base.html' width=100% height=300 name='baseframe'></iframe><br>
    <button onclick='fill();'>Заполнить</button>
    <script>
    function fill()
    {
    src=top.frames['baseframe'].document.forms['baseform'];
    dst=top.frames['aspnetForm'].document.forms['aspnetForm'];
    	for(i=0;i<src.elements.length;i++)
    	{
    		dst.elements[src.elements[i].name].value=src.elements[i].value;
    	}
    }
    
    </script>
    причем name, id у форм c внешнего сайта известны и одинаковы с base.html
     
  4. zverOK

    zverOK Постоялец

    Регистр.:
    15 фев 2008
    Сообщения:
    133
    Симпатии:
    115
    - А можно как-то это всё-таки реализовать?(если что - читайте пост выше)
    Здесь же никакая атака не проводиться.
    Имеется 2 окна с одинаковыми полями. Одно из окон с полями уже заполнено.
    Нужно просто заполненные поля скопировать в открытую страничку с пустыми полями.

    - По идее же уже страница загружена. Может как-то можно сработать с загруженной страничкой.

    - Может есть альтернативные идеи. Главное , чтобы было 2 окна видно: одно с заполненными полями, другое - с пустыми.

    P.S: пытался с помощью команды echo file_get_contents('http://адрес_старницы'); получить ту внешнюю страницу скриптом на сервере и выдать её как страницу со своего же домена. Все тчетно:(

    Гуру кодинга, подскажите как сделать :thenks:
     
  5. zverOK

    zverOK Постоялец

    Регистр.:
    15 фев 2008
    Сообщения:
    133
    Симпатии:
    115
    Спасибо огромное Karlasan'у - он написал сие код.

    Всё получилось реализовать путем написания своего браузера на Delphi(внутри исходники - под себя не сложно изменить)

    Посмотреть вложение mirror.rar

    Все благодарности только Karlasan

    http://www.nulled.ws/member.php?u=44843

    P.S: думаю тема закрыта.:yahoo:
     
  6. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.405
    Симпатии:
    1.185
    а я бы еще не закрывал, а подождал бы реализации средствами Ajax + php :)
    Кстати ифрейм обязателен или можно просто склеить пару документов через ssi или include?
     
  7. zardoz

    zardoz Постоялец

    Регистр.:
    6 май 2008
    Сообщения:
    84
    Симпатии:
    59
    решение для firefox
    Код:
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    жаль, немного запоздалое ;)
     
Статус темы:
Закрыта.