Как упростить отправку формы в системе Drupal?
На сайте Ф. Потрошителя используется шорткат [Ctrl+Enter] (по ссылке можно проверить его в работе).
Можно отправлять практически любую форму (будь то форма редактирования записи, форма комментария, или форма настроек в админке), не прибегая к мышке, не нажимая саму кнопку «Пуск» или ее аналог — достаточно нажать [Ctrl+Enter] на любой странице сайта, и это уменьшает нагрузку на руки пользователя.
Шорткат реализован с помощью модуля Drupal Keyboard Shortcut Utility. После установки и активации модуля создаем новый шорткат (/node/add/shortcut). Задаем нужное сочетание клавиш, в данном случае указываем Ctrl в поле «Meta Keys» и RETURN в поле «Key > Character Code»).
Теперь в поле «Type of action or URL» выбираем "Call a JS Function" а в поле «Action to take» вводим Javascript:
Скриншот настроек шортката:

Это все, что нужно — теперь на любой странице сайта нажатие Ctrl+Enter автоматически вызывает данную функцию.
Бесспорно, приведенное решение примитивно и есть масса способов его улучшить — ведь с Drupal и воображением возможно все.
На сайте Ф. Потрошителя используется шорткат [Ctrl+Enter] (по ссылке можно проверить его в работе).
Можно отправлять практически любую форму (будь то форма редактирования записи, форма комментария, или форма настроек в админке), не прибегая к мышке, не нажимая саму кнопку «Пуск» или ее аналог — достаточно нажать [Ctrl+Enter] на любой странице сайта, и это уменьшает нагрузку на руки пользователя.
Как это сделано?
Шорткат реализован с помощью модуля Drupal Keyboard Shortcut Utility. После установки и активации модуля создаем новый шорткат (/node/add/shortcut). Задаем нужное сочетание клавиш, в данном случае указываем Ctrl в поле «Meta Keys» и RETURN в поле «Key > Character Code»).
Теперь в поле «Type of action or URL» выбираем "Call a JS Function" а в поле «Action to take» вводим Javascript:
document.getElementById('edit-submit').click();
Скриншот настроек шортката:

Это все, что нужно — теперь на любой странице сайта нажатие Ctrl+Enter автоматически вызывает данную функцию.
Бесспорно, приведенное решение примитивно и есть масса способов его улучшить — ведь с Drupal и воображением возможно все.