Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 11.09.2015
Сообщений: 7

Как взять часть ссылки средствами JS и вставить эту часть в другую ссылку?

01.10.2015, 14:45. Показов 3607. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!

Опишу очень коротко проблему:

Открывается страница с таким адресом:

хттп://сайт.ru/upsell.php?order_id=6f8597d7f14b3180b22c 8f03758e9218

видно что в ней содержится идентификатор order_id.

На странице есть кнопка со встроенной ссылкой:

хттп://сайт.com/ordering/add_to_order.php?order_id=<?php print $_GET['order_id'];?>&tovar_id=171002

видно что в ней встроен php код, который выдирает значение order_id после знака "=" и меняет ссылку на кнопке в такой вид:

хттп://сайт.com/ordering/add_to_order.php?order_id=6f8597d7f14b31 80b22c8f03758e9218&tovar_id=171002

При нажатии на кнопку идет переход по новой ссылке и соответственно передача данных на сервер.

Т.е. по русски, приходит один id в адресе, соединяется с другим id на сайте, и вместе они отправляются обратно на сервер.

ВОПРОС! Как тоже самое реализовать с помощью js, так как не могу использовать php, нет возможности заменить страницу с html на php. (работаю с чужим сервисом).

Заранее благодарен за ответ!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.10.2015, 14:45
Ответы с готовыми решениями:

Взять часть ссылки
Имеется вот такая ссылка в WebBrowserе. http://siti.com/mem.php?to=06d53e1ac17ae053290ed7b845690f5a&amp;a=rom Нужно из неё взять (выделена...

Web Browser: часть ссылки взять из TextBox
Доброго время ! Столкнулся с проблемой , которую мои мозги не в силе решить . Так как я новичёк , и только учусь . Суть...

Картинка-ссылка на картинку ссылку, часть без ссылки
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt; &lt;html...

8
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
01.10.2015, 16:14
Лучший ответ Сообщение было отмечено Dennn как решение

Решение

JavaScript
1
2
3
var p_url=location.search.substring(1).split("=");
alert(p_url[0]); // так получим имя переменной в GET-запросе. (order_id)
alert(p_url[1]); // а так значение этой переменной. (6f8597d7f14b3180b22c8f03758e9218)
1
0 / 0 / 0
Регистрация: 11.09.2015
Сообщений: 7
01.10.2015, 16:54  [ТС]
Опан, я так подозреваю, что лучше это оформить функцией, и вызывать ее onclick, так как вариант <a href="javascript:функция();"> не будет работать у тех у кого отключен в браузере JS.

А не могли бы вы подсказать как оформить создание и отправку в этой функции новой ссылки с переменной на нужном месте:
хттп://сайт.com/ordering/add_to_order.php?order_id=6f8597d7f14b3180b22c8f03758e9218&tovar_id=171002

т.е. каким образом вместо блока с php вставить переменную?
хттп://сайт.com/ordering/add_to_order.php?order_id=<?php print $_GET['order_id'];?>&tovar_id=171002

Добавлено через 29 секунд

Добавлено через 15 минут
Что-то типа как-то так:

JavaScript
1
2
3
4
5
6
7
8
<script>
function upsell() {
var p_url=location.search.substring(1).split("=");
 
создание ссылки и отправка
 
}
</script>
Это кнопка:
HTML5
1
<input id="aqua" type="button" onclick="upsell()" value="ДОБАВИТЬ ТОВАР">
Сработает ли?
0
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
01.10.2015, 16:56
Лучший ответ Сообщение было отмечено Dennn как решение

Решение

JavaScript
1
location.href="хттп://сайт.com/ordering/add_to_order.php"+location.search+"&tovar_id=171002";
Это вставьте в качестве всей функции
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
01.10.2015, 17:00
Цитата Сообщение от Dennn Посмотреть сообщение
лучше это оформить функцией, и вызывать ее onclick, так как вариант <a href="javascript:функция();"> не будет работать у тех у кого отключен в браузере JS.
хмм... если в браузере отключён javascript, то работать он не будет ни в каком виде - ни с функцией, ни без функции, ни с онкликом, ни без онклика

Добавлено через 1 минуту
Цитата Сообщение от Dennn Посмотреть сообщение
Сработает ли?
а возьмите, и САМИ проверьте

не бойтесь, монитор и системный блок при проверке не взорвутся
0
0 / 0 / 0
Регистрация: 11.09.2015
Сообщений: 7
01.10.2015, 17:00  [ТС]
Блин а как тогда сделать наверняка? А то получается каждый клиент с отключенным JS это потеря заказа.

p.s. конечно проверю, уже встраиваю
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
01.10.2015, 17:08
Цитата Сообщение от Dennn Посмотреть сообщение
получается каждый клиент с отключенным JS это потеря заказа
а вы их много встречали - пользователей с отключённым яваскриптом?
по статистике таковых менее 2%

многие бы отключали, но не знают - "как?"
вы сами в своём браузере яваскрипт отключить-то можете?
0
0 / 0 / 0
Регистрация: 11.09.2015
Сообщений: 7
01.10.2015, 17:45  [ТС]
АААА ЗАРАБОТАЛО!!!

ОПАН, вы не представляете как я Вам благодарен!!

без лишних слов, выеживаний. и отсыланий читать книги!

БЛАГОДАРЮ!

Добавлено через 3 минуты
Вставил так:
JavaScript
1
2
3
4
5
6
<script>
function upsell() {
var p_url=location.search.substring(1).split("=");
location.href="http://login.e-autopay.com/ordering/add_to_order.php"+location.search+"&tovar_id=171862";
}
</script>
И кнопку:
HTML5
1
<center><input class="aqua" type="button" onclick="upsell()" value="ДОБАВИТЬ ТОВАР"></center>
Пашет!

Цитата Сообщение от Опан Посмотреть сообщение
Это вставьте в качестве всей функции
Так ли я сделал? Или можно было одной строкой через <a href="javascript:функция();">?

Добавлено через 4 минуты
Цитата Сообщение от kalabuni Посмотреть сообщение
а вы их много встречали - пользователей с отключённым яваскриптом?
по статистике таковых менее 2%
многие бы отключали, но не знают - "как?"
вы сами в своём браузере яваскрипт отключить-то можете?
Вряд ли, но я перестраховываюсь, всяких умельцев у нас есть

Добавлено через 23 минуты
Цитата Сообщение от Опан Посмотреть сообщение
JavaScript
1
location.href="хттп://сайт.com/ordering/add_to_order.php"+location.search+"&tovar_id=171002";
Это вставьте в качестве всей функции
Все понял, переделал так:
JavaScript
1
2
3
4
5
<script>
function upsell() {
location.href="http://login.e-autopay.com/ordering/add_to_order.php"+location.search+"&tovar_id=171862";
}
</script>
Работает!!!
0
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
01.10.2015, 20:32
Да, можно и в самой кнопке:
HTML5
1
<input class="aqua" type="button" onclick="location.href='хттп://сайт.com/ordering/add_to_order.php'+location.search+'&tovar_id=171002'" value="ДОБАВИТЬ ТОВАР">
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.10.2015, 20:32
Помогаю со студенческими работами здесь

Перенести часть текста из ссылки из одной ячейки в другую
как сделать нифига не понимаю чтобы во вторую ячейка можно было переместить только 406098522

Как ускорить эту часть кода с использованием OpenMp?
я пытаюсь ускорить, но разницы вообще никакой... for (int y = 0; y &lt; src-&gt;height - findp-&gt;height; y++) for (int x = 0; x &lt;...

Подскажите, как понять эту часть кода Thymeleaf
Добрый день. В google не нашел и давал неверный запрос &lt;li th:class=&quot;${persons.number == (page - 1)} ? 'active...

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

Как взять дробную часть числа и записать в переменную на C++
как взять дробную часть числа и записать в переменную на C++


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru