|
Срабатывание скрипта на определенных страницах
|
|
| LG-savikdvd | Отредактировал LG-savikdvd - Среда, 22 Февраля 2012, 19:58 Дата: 21 Февраля 2012, 19:34 | Сообщение # 1 | ● ● ● ● ● 301 сообщение Статус: Offline | Есть скрипт проверки, использую для проверки Описание темы при создании новой темы на форуме.
Code <script> function checksubmit(fmy) { if(fmy.description.value!=0) return true; else { alert('Не выбрана категория'); return false; } } </script>
но есть необходимость, что бы скрипт работал только на определенных страницах Новая тема. Допустим, нужно что бы работал на /forum/23-0-0-1-1 и /forum/35-0-0-1-1 , а на остальных не работал. К сожалению $URI_ID$ имеет одно значение для всех страниц Новая тема  | | |
|
| imapo | Дата: 21 Февраля 2012, 20:00 | Сообщение # 2 |  ● ● ● ● ● Группа: Редакторы 831 сообщение Статус: Offline | LG-savikdvd, вот так через отлов адреса: Code <script> var apourl = location.href; var aposuburl = apourl.substr(-10, 10); if(aposuburl == '23-0-0-1-1' || aposuburl == '35-0-0-1-1') { function checksubmit(fmy) { if(fmy.description.value!=0) { return true; } else { alert('Не выбрана категория'); return false; }; }; }; </script>
Не проверял | | |
|
| LG-savikdvd | Дата: 21 Февраля 2012, 22:41 | Сообщение # 3 | ● ● ● ● ● 301 сообщение Статус: Offline | Работает, но конфликтует с другим скриптом. Отписался в ЛС | | |
|
| imapo | Дата: 22 Февраля 2012, 15:49 | Сообщение # 4 |  ● ● ● ● ● Группа: Редакторы 831 сообщение Статус: Offline | LG-savikdvd, тему можно закрывать? | | |
|
| LG-savikdvd | Дата: 27 Февраля 2012, 16:54 | Сообщение # 5 | ● ● ● ● ● 301 сообщение Статус: Offline | Да, с этим вопросом все понятно. Спасибо !Добавлено (27 Февраль 2012, 16:54) --------------------------------------------- Все же заметил один баг. Этот отлов адреса почему-то не работает в Опере. Допустим ставлю, что бы скрипт работал только в разделах 23, 35
Code <script> var apourl = location.href; var aposuburl = apourl.substr(-10, 10); if(aposuburl == '23-0-0-1-1' || aposuburl == '35-0-0-1-1') { function checksubmit(fmy) { if(fmy.description.value!=0) { return true; } else { alert('Не выбрана категория'); return false; }; }; }; </script>
в Мозиле все ОК, в других разделах скрипт не срабатывает, кроме 23, 35 , а в Опере скрипт срабатывает во всех разделах.
imapo, можно ли что-нибудь сделать ? | | |
|
| imapo | Отредактировал imapo - Вторник, 28 Февраля 2012, 21:16 Дата: 27 Февраля 2012, 17:30 | Сообщение # 6 |  ● ● ● ● ● Группа: Редакторы 831 сообщение Статус: Offline | LG-savikdvd, возможно, это из-за автоматической визуальной обрезки адресов в опере. Попробуй отключить эту функцию в настройках и проверь | | |
|
| LG-savikdvd | Дата: 28 Февраля 2012, 16:53 | Сообщение # 7 | ● ● ● ● ● 301 сообщение Статус: Offline | визуальной обрезки адресов что-то я в Опере в настройках такого не найду. | | |
|
| cucYa | Отредактировал cucYa - Вторник, 28 Февраля 2012, 17:43 Дата: 28 Февраля 2012, 17:28 | Сообщение # 8 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Code <?if($URI_ID$='addthread')?> <script type="text/javascript"> var fid = location.href.split('/')[4].split('-')[0], fids = [23, 35]; for (var i = 0; i < fids.length; i++) { if (fids[i] == fid) { function checksubmit (form) { if (!form.description.value) { alert('Не выбрана категория'); return false; } else return true; }; break; }; }; </script> <?endif?> | | |
|
| LG-savikdvd | Дата: 28 Февраля 2012, 21:20 | Сообщение # 9 | ● ● ● ● ● 301 сообщение Статус: Offline | cucYa, спасибо ! Но работает так же как и скрипт выше, то есть в Опере работает на всех страницах  | | |
|
| cucYa | Отредактировал cucYa - Вторник, 28 Февраля 2012, 21:25 Дата: 28 Февраля 2012, 21:23 | Сообщение # 10 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Он не может работать на всех страницах, так как используется спец. оператор системы, для определения действия. Ставить его необходимо на страницу добавления сообщений форума, желательно в конец страницы. | | |
|
| LG-savikdvd | Дата: 29 Февраля 2012, 16:24 | Сообщение # 11 | ● ● ● ● ● 301 сообщение Статус: Offline | Вот тут http://rogachev-shop.ucoz.ru/forum/2-0-0-1-1 я открыл Гостям создание новых тем. В скрипте сделал что бы скрипт срабатывал только в 4 ( в Мозиле в 2 и 3 он не срабатывает ), а в Опере и в 2 и в 3 он срабатывает. Посмотрите есть не в тягость. | | |
|
| imapo | Дата: 29 Февраля 2012, 17:26 | Сообщение # 12 |  ● ● ● ● ● Группа: Редакторы 831 сообщение Статус: Offline | LG-savikdvd, в хроме тоже срабатывает, так как адрес страницы заканчивается на /forum/3-0-0-1-1 а не на /forum/23-0-0-1-1
Вот попробуй такой вариант: Code <script> var apourl = window.location.href; var aposuburl = apourl.substr(-9, 9); if(aposuburl == '3-0-0-1-1' || aposuburl == '5-0-0-1-1') { function checksubmit(fmy) { if(fmy.description.value!='') { return true; } else { _uWnd.alert('Не выбрана категория'); return false; }; }; }; </script> | | |
|
| LG-savikdvd | Дата: 29 Февраля 2012, 17:41 | Сообщение # 13 | ● ● ● ● ● 301 сообщение Статус: Offline | Все равно, срабатывает на всех страницах
так как адрес страницы заканчивается на /forum/3-0-0-1-1 а не на /forum/23-0-0-1-1 это я понимаю, меняю, теперь на тестовом форуме - В скрипте сделал что бы скрипт срабатывал только в 4 ( в Мозиле в 2 и 3 он не срабатывает ), а в Опере и в 2 и в 3 он срабатывает. | | |
|
| cucYa | Дата: 02 Марта 2012, 12:21 | Сообщение # 14 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | LG-savikdvd, пробуй так. Code <?if($URI_ID$='addthread')?> <script type="text/javascript"> var fid = location.href.split('/')[4].split('-')[0], fids = [4, 5]; for (var i = 0; i < fids.length; i++) { if (fids[i] == fid) { checksubmit = function (form) { if (!form.description.value) { alert('Не выбрана категория'); return false; } else return true; }; break; }; }; </script> <?endif?> | | |
|
| LG-savikdvd | Дата: 02 Марта 2012, 13:27 | Сообщение # 15 | ● ● ● ● ● 301 сообщение Статус: Offline | Работает Поставим на форум, по тестируем.
Пока спасибо ! | | |
|