2016-01-11 3 views
1

На сайте joomla, над которым я работаю, у меня есть страница, предлагающая выбор в одной из нескольких программ на английском языке. Пользователь выбирает, нажимая на кнопку выбора, связанную со страницей регистрации для выбранной программы. HTML для ссылок:Как переносить значения с одной страницы на другую

<a href="/index.php/register" id="Starting English" class="enrol_btn">Enrol/ลงทะเบียน</a>   
    ..... 
<a href="/index.php/register" id="Senior School" class="enrol_btn">Enrol/ลงทะเบียน</a> and so on 

Я хочу, чтобы сохранить значение идентификатора так, что он может быть вставлен в соответствующей странице регистрации при том, что отображается. В качестве первого шага, я использовал LocalStorage с JQuery, чтобы сохранить значение требуемого идентификатора, например, так:

jQuery(document).ready(function() { 
    localStorage.prog = jQuery('a.enrol_btn').attr('id'); 
+`enter code here` alert(localStorage.prog); 
}); 

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

ответ

1

Если вы пытаетесь установить значение localstorage (это ID), чтобы к нему можно было получить доступ в том же домене, но на другой странице. Вы должны сделать что-то вроде этого:

localStorage.setItem('id', jQuery('a.enrol_btn').attr('id')) 

И позже, получить товар с помощью:

localStorage.getItem('id') 
0

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

Лучше использовать _ подчеркивание, чтобы заполнить пространство:

<a href="/index.php/register" id="Starting_English" class="enrol_btn">Enrol/ลงทะเบียน</a> 
    .....<!--check this--------^^^^^^^^^^^^^^^^^^up and dowwn--> 
<a href="/index.php/register" id="Senior_School" class="enrol_btn">Enrol/ลงทะเบียน</a> 

Вы должны использовать if/else условия на странице загрузки:

jQuery(document).ready(function() { 
    var ls = window.localStorage; 
    if(window.location.href.indexOf('register') != 0){ 
     var reg = ls.getItem('registerPage'); 
     console.log(reg); 
    } 

    // but you need to make sure you add an obj in the localStorage when you click the link 
    $('a').click(function(e){ 
    e.preventDefault(); 
    ls.setItem('registerPage', this.id); // set the id to localstorage here 
    window.location.href = $(this).attr('href'); 
    }); 

}); 

NOTE: Ids cannot have "space" separated values.

+0

Я исправил иды :) и заменил код в файле js указанным выше кодом, но он не работает. Алиасы joomla на этих двух страницах - это «регистрация» и «регистрация». Правильно ли «RegisterPage»? – RoyS

+0

http://stackoverflow.com/questions/13669472/window-location-indexof-not-working-in-javascript – RoyS

+0

Я проверил «window.location.indexOf» и http://stackoverflow.com/questions/ 13669472/window-location-indexof-not-working-in-javascript говорит: «window.location - это объект, а не строка, и поэтому он не имеет функции indexOf». Любые комментарии? – RoyS

Смежные вопросы