За последние 24 часа нас посетили 62092 программиста и 1781 робот. Сейчас ищут 848 программистов ...

Включить чекбокс по ссылке

Тема в разделе "PHP для новичков", создана пользователем igorsrt, 25 янв 2016.

  1. igorsrt

    igorsrt Активный пользователь

    С нами с:
    17 сен 2015
    Сообщения:
    65
    Симпатии:
    1
    Здравствуйте!
    Нужно что бы при переходе по ссылке открывалась новая страница и на ней был включен определенный чекбокс (а другой, который по умолчанию отмечен на этой странице, наоборот выключался)... Насколько я понял, все эти переключения на сайте делаются средствами js, а я в нем совсем не силен (впрочем как и в php). Помогите пожалуйста.
     
  2. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Или через анкор, если чекбокс надо включать только один или через GET.
    Через анкор передаём в ссылку "айди" чекбокса
    Код (PHP):
    1. [url="index.html#checkbox_id"]ссылка[/url]
    И дальше работать через window.location.hash
    Или же через GET параметр
    Код (PHP):
    1. [url="index.html?checkbox=checkbox_id"]ссылка[/url]
    И дальше работать через ссылку
     
  3. igorsrt

    igorsrt Активный пользователь

    С нами с:
    17 сен 2015
    Сообщения:
    65
    Симпатии:
    1
    Пытался через анкор - не поучается пока... ((
    можно еще пару глупых вопросов:
    1) id чекбокса - у меня фаербаг показывает только это при исследовании элемента name="bases[969]" - это оно?
    2) window.location.hash - пытался вставить скрипт на страницу с чекбоксом
    Код (PHP):
    1. <script>
    2. $(document).ready(function() {
    3.     var anchor = window.location.hash;
    4.     if (anchor == '#мой анкор ') {
    5.         $('#bases[969]').prop('checked', true);
    6.     }
    7. });
    8. </script>
    что не так?

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т. д.
     
  4. igorsrt

    igorsrt Активный пользователь

    С нами с:
    17 сен 2015
    Сообщения:
    65
    Симпатии:
    1
    Мучаюсь второй день...
    В ссылке прописал
    Код (PHP):
    1. <class="link" href="catalog/#969"> 
    ...
    На самой странице с чекбоксом уже даже так:
    Код (PHP):
    1. <script>
    2. delete anchor;
    3. var anchor = location.hash.replace(/^#/, '');
    4. if (anchor == '969') {
    5. document.getElementById('969').checked=true;
    6. }
    7. else {
    8. document.getElementById('969').checked=false;
    9. };
    10. delete anchor;
    11. </script>
    Не работает...((( Что не так?
    возможно я скрипт неправильно вставляю? или еще что-то нужно прописать? я просто первый раз с этим сталкиваюсь...

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т. д.
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
  6. igorsrt

    igorsrt Активный пользователь

    С нами с:
    17 сен 2015
    Сообщения:
    65
    Симпатии:
    1
    да, спасибо... с этим разобрался: прописал отдельные id для чекбоксов..
    Теперь чекбокс, вроде как, выбирается (галочка появляется), но при нажатии на кнопку дальнейших действий, браузер сообщает что ничего не отмечено (приходится заново выключать и включать этот чекбокс вручную)... где-то, что-то "недоотмечено" получается
     
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Как сообщает? Чек-бокс включенный из JS воспринимается как включенный, у меня много кода, где чекбоксы включаются из JS, всегда всё работало
     
  8. igorsrt

    igorsrt Активный пользователь

    С нами с:
    17 сен 2015
    Сообщения:
    65
    Симпатии:
    1
    я думаю, может быть этот скрипт отметки чекбокса вставить в конец файла scripts.js (сейчас он на самой странице) и из файла страницы как-то вызывать его - такое возможно?
    может быть это scripts.js включается позже и своими скриптами "перебивает" мой?.. еще раз прошу прощения за делитанство
     
  9. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Я ваши скрипты с вашего экрана читать не умею
     
  10. igorsrt

    igorsrt Активный пользователь

    С нами с:
    17 сен 2015
    Сообщения:
    65
    Симпатии:
    1
    в файле scripts.js нашел вот такой код:
    Код (PHP):
    1. var checkedone = false;
    2.                     $('.tariffcheck').each(function(){
    3.                         if($(this).attr('checked')){ 
    4.                             checkedone = true;
    5.                         }
    6.                     });
    7.                     if(checkedone){
    8.                         $('#b-tabs').show();
    9.                         $('#auth_form').hide();
    10.                         $('#contact_form').hide();
    11.                         if(user_auth){
    12.                             $('#b-tabs').find('li[data-related-tab=2]').click();
    13.                             $('#contact_form').show();
    14.                             
    15.                         }else{
    16.                             $('#b-tabs').find('li[data-related-tab=1]').click();
    17.                             $('#auth_form').show();
    18.                         }
    19.                     }else{alert('Выберите базы!');return false;}
    20.  
    т.е., насколько я понимаю, здесь происходит проверка наличия отмеченных чекбоксов... как мне дать ему понять, что мой чекбокс, включенный скриптом на странице тоже "отмечен"? (

    Добавлено спустя 30 минут 7 секунд:
    поменял в своем скрипте на странице код
    Код (PHP):
    1. document.getElementById('2015ru').checked=true; 
    на
    Код (PHP):
    1. document.getElementById('2015ru').setAttribute('checked', 'checked') 
    сделал это методом "тыка", поэтому хочу уточнить у разбирающихся людей - так правильно или нет? )

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.