Как сделать ссылку на форму
Перейти к содержимому

Как сделать ссылку на форму

  • автор:

Как кнопку сделать ссылкой?

В этом примере при щелчке по кнопке открывается веб-страница new.html в новой вкладке.

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

Использование CSS

Раз кнопку нельзя сделать ссылкой, то вообще отказываемся от и стилизуем ссылку, чтобы она стала похожа на кнопку. В примере 2 показан класс btn , при добавлении его к элементу ссылка меняет своё оформление.

Пример 2. Стилизация ссылки

Результат данного примера показан на рис. 1.

Стилизация ссылки

Рис. 1. Стилизация ссылки

Использование JavaScript

Для перехода к указанной веб-странице можно воспользоваться событием onclick, добавляя его к элементу . Внутри onclick пишем document.location , а в качестве значения адрес желаемой веб-страницы (пример 3). Обратите внимание на комбинацию кавычек, адрес веб-страницы берётся в одинарные кавычки.

Пример 3. Событие onclick

См. также

  • Атрибуты
  • Кнопки
  • Кнопки
  • Кнопки в Bootstrap 4
  • Кнопки в Bootstrap 5
  • Отправка данных формы
  • Отправка данных формы
  • Построение форм
  • Событие onclick
  • Создание кнопок
  • Создание форм
  • Сумасшедшие формы
  • Формы
  • Формы в Bootstrap 4
  • Формы в Bootstrap 5
  • Формы в HTML

Как сделать ссылку на форму

Предположим, у меня есть ссылка на какой-либо элемент управления, расположенный на форме. Можно ли получить ссылку на эту форму?

Хм. А что такое «ссылка на какой-либо элемент управления»?
(1) +1!
(0) бред какой-то!

2(1,2) дядька хочет написать обработчик события не объявленный в модуле формы. а например где-то в глобальнике. для кнопки как обработчик выглядит? Правильно НажатиеКнопки(Элемент), вот дядька и хочет по этому Элемент вытащить ссылку на форму при чем сделать это не в модуле формы. Это я себе такого навоображал. 🙂

(4) «Шурик! Вы же телепат!»©»Другие приключения Шурика»

На Форме1 лежит табличное поле (привязано к подчиненному справочнику)
При активации строки ТП открывается форма подчиненного элемента, в ней:
ЭтаФорма.ВладелецФормы указывает на ТП
а мне нужно получить ссылку на Форму1

(6) а если просто ЭтаФорма.
Слушай Альберта, он плохого не посоветует!
ну она и даст ссылку на саму себя. А смысл?
Я и так в ней. Мне-то нужен доступ к «верхней» форме
Что-нибудь типа:
ЭтаФорма.ВладелецФормы.ЭтаФорма
было бы здорово.

При активации строки оповещай все открытые формы — метод Оповестить(), а в подчиненной форме реализуй обработку оповещения.

(10) не понял что ты делаешь.
Мне просто надо из подчиненной формы получить данные, которые есть в родительской.
(13) испоьзуй реквизиты формы
так я и хочу. Но для этого-то мне и надо ссылку на эту форму 🙁

Передай ей эту ссылку.

Форма (Form)
ЭтаФорма (ThisForm)
Использование:
Только чтение.
Описание:
Тип: Форма. Содержит данную форму. Может быть использовано в модуле формы для получения данной формы и передачи ее в качестве параметра в другие формы, глобальные процедуры и функции и т.д.
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.

Если гора не идет к магамеду. то магамед идет к горе

в форме2
Перем __СсылкаНаФорму1__ Экспорт;

ф = ..ПолучитьФорму();
ф.__СсылкаНаФорму1__ = ЭтаФорма;
ф.открыть();

Да это-то понятно, но это связано с переделками во многих местах.
А хотелось красивого решения. Но похоже все-таки по этой цепочке «вверх» пройти невозможно 🙁

Якоря и ссылки внутри страницы

Поставить ссылку, которая ведет внутрь страницы к конкретному блоку (разделу), можно двумя способами:

1. Добавьте в нужное место специальный блок — T173 Якорная ссылка из категории Другое. В Контенте T173 пропишите желаемое название для якоря, например: «contacts». И можно теперь переходить к этому месту, в котором находится блок T173, указывая ссылку вида «#contacts» на кнопках или в меню. Сам блок невидимый.

2. Поставить ссылку на любой блок: Для этого вам нужно в адресе ссылки прописать «#rec129000». Этот уникальный номер есть у каждого блока. Его можно найти в контекстной панели Settings блока (в самом низу). Обратите внимание, что если вы скопируете страницу, то номера блоков поменяются и вам нужно будет поставить ссылки заново.

Чтобы по ссылке посетитель сайта переходил к конкретному месту на другой странице, поставьте ссылку вида: /pagename#anchorname , где pagename — это адрес страницы, на которую нужно перейти, а anchorname — название якоря, который обозначает место, куда должен быть отправлен посетитель.

Если вы хотите, чтобы переход к назначенному блоку был плавным, «скользящим», добавьте на страницу блок T178 (Библиотека блоков → Другое → Плавный скролл до локальной ссылки).

Обращаем внимание, что на странице достаточно одного такого модификатора — использование нескольких на одной странице может привести к ошибкам.

Ссылка на страницу с заполненными полями формы?

Добрый день!
Есть форма для поиска с кучей полей. При submit`е происходит ajax запрос на сервер за данными.

Необходимо реализовать возможность создания ссылки на эту страницу, чтобы человек перешедший по ссылке увидел те же результаты поиска и таким же образом заполненную форму. Самым логичным вариантом мне кажется с помощью JS прописывать заполненные поля в виде параметров в URL.
Может есть какие-то готовые решения?

  • Вопрос задан более трёх лет назад
  • 1955 просмотров

4 комментария

Простой 4 комментария

Сергей Соколов @sergiks Куратор тега JavaScript

у вас пока не SPA? Какие-то JS фреймворки/библиотеки уже используются?

Хотя вопрос вроде бы простой, решеним тут будет React/Angular/Vue приложение с рендерингом на стороне сервера — когда запрашивают страницу с параметрами формы, с сервера сразу возвращать отрендеренную страницу результатов.

А в общем надо сериализовать форму и записывать её в URL как hash или GET-параметры. При наличии таких параметров в запросе, отдавать заполненную форму с результатами поиска (из кэша, если повезёт). Костыльно – после загрузки страницы с пустой формой смотреть, есть ли параметры, и тогда выполнять ajax-запрос.

Евгений Ромашкан @EvgeniiR Автор вопроса

Сергей Соколов, лапшекод на jQuery. Подключать фреймворки не могу. Видимо придётся делать сериализацию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *