Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2014, 14:17
Аватар для feniks81
Интересующийся
Отправить личное сообщение для feniks81 Посмотреть профиль Найти все сообщения от feniks81
 
Регистрация: 01.04.2013
Сообщений: 20

onchange не запоминает выбор в option select
<center>
    <iframe name='film_main' id='film_main' src='{THEME}/images/tv.png' width='800' height='500' frameborder='0'></iframe>

    <br>
    <select size='1' onchange="javascript:if(document.getElementById('film_main')) document.getElementById('film_main').src=this.value;">

       <option selected='selected' value='{THEME}/images/tv.png'>Выберите серию </option>
       <option value="адрес фрейма1">01. Серия</option>
       <option value="адрес фрейма2">02. Серия</option>

    </select>
    </center>


Строчка в коде номер 5 - работает прекрасно. она подгружает в строчку 2 то что в строках 8 и 9 (value="")

Но я не могу дописать к onchange - window.location.reload() так чтобы после перезагрузки страницы выбор сохранился.

например выбрали серию 2 - перезагрузилась страница - затем установка в ифрейм url серии 2.

очень нужна перезагрузка. перепробовала комбинировать код 30 способами - у меня не вышло. может нужен метод какой-то.. все еще учусь с яваскриптом.
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2014, 14:47
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Нужно использовать не location.reload(), а установку location нужной ссылки, например:
window.location = 'http://example.com/'
Ответить с цитированием
  #3 (permalink)  
Старый 26.05.2014, 15:11
Аватар для feniks81
Интересующийся
Отправить личное сообщение для feniks81 Посмотреть профиль Найти все сообщения от feniks81
 
Регистрация: 01.04.2013
Сообщений: 20

Да, верно, но дело в том что я не создаю для каждой серии отдельную страницу, дабы избежать дублирования в индексации.

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

это все отлично. необходимо только чтоб при выборе страница ПЕРЕЗАГРУЗИЛАСЬ и сохранился выбор.

т.е. перезагрузка необходима для накручивания счетчика показа рекламы. никак не могу дописать к ohchange нужное....

в противном случае придется делать для каждой серии свою страничку а в переключатель вставить window.location = 'http://example.com/'....

Последний раз редактировалось feniks81, 26.05.2014 в 15:22.
Ответить с цитированием
  #4 (permalink)  
Старый 26.05.2014, 15:49
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Создать отдельную страницу не обязательно. Достаточно в адрес страницы передать: либо get-параметры, либо #hash и работать уже с ними. Механиз будет тот же, через window.location = .
Ответить с цитированием
  #5 (permalink)  
Старый 26.05.2014, 15:56
Аватар для feniks81
Интересующийся
Отправить личное сообщение для feniks81 Посмотреть профиль Найти все сообщения от feniks81
 
Регистрация: 01.04.2013
Сообщений: 20

Ррррррррррр.. сканирую все страницы в выдаче гугла по запросу get window.location.. Как найду - поделюсь решением. спасибо бро
Ответить с цитированием
  #6 (permalink)  
Старый 26.05.2014, 16:41
Аватар для feniks81
Интересующийся
Отправить личное сообщение для feniks81 Посмотреть профиль Найти все сообщения от feniks81
 
Регистрация: 01.04.2013
Сообщений: 20

WorM32,
не получается. сможешь сделать для меня за 100 рублей, пойдет вам на пиво?
Ответить с цитированием
  #7 (permalink)  
Старый 26.05.2014, 16:45
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Не очень ясна задача... нужно кодом из iframe перезагружать родительский документ? Или запоминать выбранный ролик?
Если первое, то
parent.location.reload();

Запомнить выбранный ролик можно через cookie или WebStorage. WebStorage позволяет единоразово хранить большие объемы информации, но поддерживается лишь в современных браузерах.

Последний раз редактировалось Erolast, 26.05.2014 в 16:48.
Ответить с цитированием
  #8 (permalink)  
Старый 26.05.2014, 17:10
Аватар для feniks81
Интересующийся
Отправить личное сообщение для feniks81 Посмотреть профиль Найти все сообщения от feniks81
 
Регистрация: 01.04.2013
Сообщений: 20

Erolast,

http://jsfiddle.net/rfsa5/20/

посмотрите как это работает. при выборе серии - урл подгружается в ифрейм без перезагрузки страницы.

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

наверное подойдет ваше решение "Запомнить выбранный ролик можно через cookie"
Ответить с цитированием
  #9 (permalink)  
Старый 26.05.2014, 17:38
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Я правильно понимаю, что нужно что-то типа этого http://jsfiddle.net/rfsa5/25/

var select = document.getElementById('select_film'),
    frame = document.getElementById('film_main');

function onSelectFilmChange () {
    var value = this.value;
    saveFilm(value);
    window.location.reload();
}

function saveFilm(url) {
    localStorage.setItem('film_url', url);
}

function getFilm () {
     return localStorage.getItem('film_url') || '';   
}

$(function () {
    var film = getFilm();
    if (!film) {
        return;
    }
    
    var options = select.options;
    for (var i = 0, l = options.length; i < l; i++) {
        if (options[i].value == film) {
            select.selectedIndex = i;   
        }
    }
});

select.addEventListener('change', onSelectFilmChange, false);
Ответить с цитированием
  #10 (permalink)  
Старый 26.05.2014, 17:52
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Лучше таки через куки, везде работать будет - http://learn.javascript.ru/play/Th3LB.
И да, window.onload, как я написал - это плохо. В текущем виде скрипт будет ждать полной загрузки страницы, включая изображения, что не нужно. Выполняться он должен после загрузки DOM, просто кроссбраузерно и без использования сторонних библиотек это заняло бы довольно много строк, для примера-то.

Последний раз редактировалось Erolast, 26.05.2014 в 18:10.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
checkbox, radio и select c option Hekumok Общие вопросы Javascript 8 12.04.2016 17:51
new Option при вставке очищает SELECT kapustnik Events/DOM/Window 7 25.07.2013 16:05
выбор в select Александр141 Элементы интерфейса 4 03.11.2012 13:53
Выбор всех Select kvaleksandr Элементы интерфейса 12 27.10.2012 20:55
Динамические option в select lurii Элементы интерфейса 10 14.01.2011 11:23