• Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    Закрытие крестиком! либо потерей фокуса пустого инпута.

    На вашей картинке с инпутом вообще нет кнопки сабмита - на ее месте инпут.
  • Как сводить воедино разные ветки разработки?

    @AndryG
    А как рационально по веткам разложить?
    Самый простой вариант с одной веткой:
    * заливаем текущий код, как начало отсчета
    * новая версия скрипта - заливаем в рабочую копию исходники, и смотрим, что где поменялось, правим причесываем - заставляем работать. Коммитим.
    * наши новые дополнения делаем, коммитим поверх.

    Или стоит разнести по веткам, вести ветку с новыми версиями, ветки со своими примочками, сливать это все в мастере ?
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    нажимаю на кнопку, ввожу текст и жму enter
    button click
    form submit
    show input
    button click
    form submit
    input blur
    hide empty input
    search: BUTTON TYPE SUBMIT

    Добавляю в код "в мобильной версии при показе инпута кнопке делаю type=button"
    button click
    form submit
    show input
    form submit
    input blur
    hide empty input
    search: BUTTON TYPE=BUTTON

    зачем я это проверил, попробовал...

    Я уже запутался. Примерно ясно, как хотите. Что на данный момент не получается ?

    жмакаю на кнопку поиска, показывается инпут с крестиком
    Если убираю фокус с ипута и он пустой, то инпут прячется, если не пустой, то остается висеть
    Запустить поиск можно либо enter в инпуте, либо на кнопку поиска нажать (если она будет доступна)
    Кнопка-крестик привязана к инпуту. При клике на ней очищает инпут и прячет его (лучше, если пошлет ему событие blur, чтобы активизировать уже существующий механизм)

    Чего не хватает? Только развернуто, пжлст.
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    Шось я совсем туплю, а как запустить поиск, если там только крестик, который служит для очистки поля ввода и вообще его скрытия ?
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    Попробуйте сформулировать полностью от а до я условия задачи. Я устал дергаться между картинками без объяснений. Учитесь делиться мыслями - это полезно )

    На вопрос "а где кнопка" отвечать "ее нет" - это почти проявление неуважения ко мне, уделившему вам столько времени. Ответ мог быть "этой кнопки нет, потому что ... в этом виде ее роль выполняет ..."
    Потому как если нет кнопки, вызывающей диалог поиска, то и говорить больше нет очем.

    На второй картинке есть, по видимому, две кнопки, про которые ни слова не упоминается. Если вы решили, что что-то само собой разумеется, то нет - все стоит описывать, что все оперировали верными фактами, а не своими придумками.
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    Это уже не похоже на решение вопроса. Показ картинки без комментариев ... на сим откланиваюсь. Своя работа стоит.
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    Насколько мне фантазия позволяет додумать вашу хотелку, то текущая кнопка - это слово искать, затертый текст - инпут, крестик - несуществующая еще кнопка, светлый прямоугольник, наверное, сама форма.

    Миелофона у меня нет :)
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    Три события: клик кнопки, дефокус инпута и сабмит формы.
    нажимаем первый раз на кнопку:
    клик кнопки
    сабмит формы - показываем спрятанный инпут

    нажимаем второй раз (инпут пустой):
    дефокус - инпут прячется
    клик кнопки
    сабмит формы - показываем спрятанный инпут

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

    Так-как при клике мышки событие декфокуса выскакивает первым, мы не можем знать, инпут спрятался только-что из-за нас или уже давно спрятан или его вообще не показывали еще.

    Считаю такое поведение вполне логичным ) Вы нажимаете на кнопку поиска - ищите! Не хотите искать - сними фокус, кликнув на чем-то другом, и поиск спрячется.
    Чем-то другим может выступать кнопка крестик - она сотрет текст и погасит инпут.

    Пока писал, вспомнил, что делал примерно такое. Была пустая кнопка, которую нужно было нажать юзеру только чтобы убрать фокус с поля ввода.
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    Да что вы говорите :) кажется, мы это уже проходили метром выше.
    Там же выше я предлагал вам сделать шаг назад и осознать. Вы пытаетесь костылями заставить работать семантически неверный код. Вы берете придуманные w3c элементы и начинаете пользовать их "в неприроднiй спосiб". Код не имеет красоты и работать нормально не будет - только красивый код работает хорошо :)

    Есть у вас форма поиска на сайте. Заставьте ее работать нормально. Если это кнопка, значит она отправляет запрос, перегружая страницу. У вас так работает обычная версия?

    Затем добавьте некоторое поведение мобильной версии. Не с ног на голову поиск менять, а лишь добавить заморочку с этим инпутом.

    А у вас одна кнопка кучу ролей играет. Да поставьте их две и скрывайте лишнюю!

    Я не готов костыльничать дальше. Хотите помощи - можем рассмотреть форму поиска целиком без условий "уже это есть надо только".

    Поигрался с кодом. Головоломка тая еще выходит. https://codepen.io/gordw-andrj/pen/rNOjMJY
    Хотя форма ведет себя, как по мне, вполне логично.
  • Почему выводится только 2 элемента вместо 3?

    @AndryG
    Если последний тег не нужен в результате, то можно вот так:
    $res = [];
    $res[] = 's1';
    $res[] = 's2';
    $result = implode('<br>', $res);
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    а может вторую кнопку?

    Крестик может быть внутри инпута. По клику на крестик надо очистить поле ввода и убрать фокус. И только.

    А кнопка поиска пусть занимается поиском.
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    Подвиньте кнопку, чтобы она не залазила на инпут.
  • Хранение комбинаций?

    @AndryG
    На что упор в вопросе? В конкретно больших объемах данных и как это все уместить хотя бы на мегасервер и как-то обработать. Или же числа с размерами даны с потолка и мы думаем над организацией скидок в интернет магазине?
  • Как распределить функции?

    @AndryG
    Это жесть. Прочтите свой текст, пжлст.
    Есть базовые функции с запросами в базу, я решил вынести их в отдельный файл под названием function.php

    и тут же "new Functions("

    Так там у вас функции или класс ?

    // какой-то код здесь
    include("test.php");
    $test = new Test();

    Функции или класс?

    Если это все же классы, то почитайте про автозагрузку и забудьте про инклюды, даже через once. Вам и в этом печальном случае нужен require_once

    https://habr.com/ru/post/138920/
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    Получается при нажатии enter на пустом инпуте отправка все равно происходит, тут наверно нужна доп. проверка на пустоту инпута?

    Обработка пустого текста для поиска - это уже работа "полезной части", которая занимается непосредственно поиском. Этот код занимается лишь особенностями мобильной формы. Проверку отмены поиска можно добавить возле комментария "полезная работа".
    // полезная работа
      if($input.val() == ''){return false};  <<<<<===
      $('<div>').appendTo('body').text('search: '+$input.val());


    Если кнопка спозиционирована абсолютно, то ваш вариант не работает, тогда как в данной ситуации поступить ?

    Мой вариант меняет видимость одного элемента, согласно вашей задачи. Как вы это сверстаете - коду все равно. Хоть таблицами, хоть флексами.
  • Как запретить кнопку с типом submit реагировать на enter?

    @AndryG
    Genri_Rus, сейчас он в коде лишь для работы кодепена.

    Убeрите preventDefault и форма будет обрабатываться стандартным образом. Или ajax отправку прицепить - это уже другая история.