Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Java / JavaScript


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Botsman
Статус: Специалист
Рейтинг: 516
∙ повысить рейтинг »
vladisslav
Статус: 5-й класс
Рейтинг: 506
∙ повысить рейтинг »
Evgenijm
Статус: 10-й класс
Рейтинг: 280
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Java/JavaScript

Номер выпуска:648
Дата выхода:01.10.2009, 14:30
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:476 / 105
Вопросов / ответов:1 / 3

Вопрос № 172651: Здравствуйте, уважаемые эксперты! Есть некоторый статический документ index.html. В нем есть форма, содержащая три списка SELECT. Также на странице существуют три инлайновых фрейма iframe1, iframe2, iframe3. Нужно, чтобы при выборе какого-либо зна...



Вопрос № 172651:

Здравствуйте, уважаемые эксперты! Есть некоторый статический документ index.html. В нем есть форма, содержащая три списка SELECT. Также на странице существуют три инлайновых фрейма iframe1, iframe2, iframe3.
Нужно, чтобы при выборе какого-либо значения из любого списка во все три фрейма подгружались определенные html-документы. Например, при выборе какого либо значения из первого списка в iframe1 подгружается документ document1.html, в iframe2 подгружается документ document2.html, в iframe3 подгружается документ document3.html и т.д.
Как реализовать всё это на JavaScript?
И можно ли здесь вообще обойтись без iframe, например, при помощи jQuery. Если можно, то как?

Отправлен: 26.09.2009, 14:14
Вопрос задал: denmmx, Посетитель
Всего ответов: 3
Страница вопроса »


Отвечает Товарищ Бородин, Академик :
Здравствуйте, denmmx.
При помощи jQuery = с помощью AJAX.
Прежде всего, надо создать три блочных элемента на странице, которые будут выступать в роли-iframe`заменителей. Присвоим им id="block1", "block2", "block3".
При выборе значения из списка - то есть, при наступлении события "change", - выполняем следующую конструкцию:

$('#block1').load('адрес документа 1');
$('#block2').load('адрес документа 2');
$('#block3').load('адрес документа 3');

Почитайте документацию по функции load, возможно, Вы найдете там много интересного. URL >>

С уважением, Товарищ Бородин

Ответ отправил: Товарищ Бородин, Академик
Ответ отправлен: 26.09.2009, 16:31

Оценка ответа: 5

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 254717 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Иоффе Мэир Вэлевич, Студент :
    Здравствуйте, denmmx.

    Я, как ярый противник всемозможных jQuery и иже с ним, в очередной раз предлагаю всё сделать собственными руками.
    В приложении находится функция GetIframe, которая позволит Вам не только обратиться к нужному iframe, но так же и к его "втнутренностям" как то window, document и body.

    В вашем случае попробуйте использовать её вот так:

    // обработчик события onchage
    function select_onchage(value)
    {
    for(var i = 1; i <=3; i++)
    {
    GetIframe("iframe" + i, "self").src = "document" + i + ".html";
    }
    }

    и не нужно никаких jQuery.

    Удачи.

    Приложение:

    -----
    There are 10 types of people. Those who understand binary and those who don\'t.

    Ответ отправил: Иоффе Мэир Вэлевич, Студент
    Ответ отправлен: 27.09.2009, 06:16

    Оценка ответа: 3

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 254740 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает vladisslav, 5-й класс :
    Здравствуйте, denmmx.
    Вариант с iframe

    Код:
    <script type=text/javascript>
    function iframeload()
    {
    var ifr1=document.getElementById('block1');
    var ifr2=document.getElementById('block2');
    var ifr3=document.getElementById('block3');
    var sel1=document.getElementById('sp1').value;
    var sel2=document.getElementById('sp2').value;
    var sel3=document.getElementById('sp3').value;
    //вставьте вашу логику
    //для примера будем искать гуглом в разных комбинациях
    ifr1.src="http://google.com/search?q="+encodeURIComponent(sel1)+encodeURIComponent(sel2)+encodeURIComponent(sel3);
    ifr2.src="http://google.com/search?q="+encodeURIComponent(sel1)+encodeURICo mponent(sel3)+encodeURIComponent(sel2);
    ifr3.src="http://google.com/search?q="+encodeURIComponent(sel3)+encodeURIComponent(sel2)+encodeURIComponent(sel1);
    }
    </script>

    <form id="search">
    <p><label>Список1
    <select name="sp1" id="sp1" onchange="iframeload();">
    <option>Значение №1</option>
    <option>Значение №2</option>
    <option>Значение №3</option>
    </select>
    </label>
    <label>Список2
    <select name="sp2" id="sp2" onchange="iframeload();">
    <option>Значение №100</option>
    <option>Значение №200</option>
    <option>Значение №300</option>
    <option>Значение №400</option>
    <option>Значение №500</option>
    </select>
    </label>
    Сп исок3
    <label>
    <select name="sp3" id="sp3" onchange="iframeload();">
    <option>Значение №1000</option>
    <option>Значение №2000</option>
    <option>Значение №3000</option>
    </select>
    </label>
    </p>
    </form>
    <p>
    <!-- вроде тут должны быть iframeы, а не divы -->
    <iframe id="block1"></iframe>
    <iframe id="block2"></iframe>
    <iframe id="block3"></iframe>
    </p>

    Ответ отправил: vladisslav, 5-й класс
    Ответ отправлен: 28.09.2009, 12:03

    Оценка ответа: 5

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 254795 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.9 от 25.09.2009

    В избранное