Приветствую всех знатоков.
На сайте есть форма для заказа обратного звонка. Для её создания потребовался файл CSS , два JS скрипта и Jquery. Как-то многовато для такой ерундовины.
Сегодня обнаружил, что последние версии браузеров на движке Chromium и даже Firefox сделали так, что в поле номера теперь нет автоматически выставленного +7 и скобок, которые, так сказать, подсказки пользователю для ввода номера телефона. Ах, да, форма отсылает имя и номер телефона человека в Telegram. В интернете полно слизанного плагиата, как сделать такую форму. Но все эти плагиатчики не упоминают, что поле ввода номера будет без +7 и скобок. Я сто лет искал код, чтобы самому сделать этот +7, а теперь последние версии браузеров это аннулировали к чёрту.
К тому же, при правке старой страницы я решил сегодня разместить кнопки. И офигел. Для каждой пришлось прописывать class в CSS. Но это полбеды. Ещё пришлось прописывать в JS. Однако функционирует JS скрипт странно. Несмотря на пропись в документе, некоторые кнопки не открываются вообще. При замене их местами, то есть последнюю кнопку, к примеру, выставить в документе третьей по счёту, тогда кнопка, что была последней и встала на третье место, начинает работать, но перестаёт работать какая-то другая кнопка.
Привязка кнопок по ID, соответственно. И этих ID, как я убедился, тоже лимит, потому что переименовывание ни к чему хорошему не приводит. Более того, как я понял, есть кнопки в header и footer, которые работают всегда. А вот другие кнопки, допустим, кнопка "ЗВОНИ", если размещена на странице "овощи", то на странице "фрукты" она уже не работает. получается ID будто привязывается к определённому документу, где ты его прописал. Это неимоверно бесит. 
Отсюда вопрос. Как возможно избавиться от этой привязки к ID, чтобы кнопки работали и не надо было прописывать четыреста ID-шников для десятков страниц? Вплоть до того, что готов полностью перейти на какую-то другую форму, если она проста, как кусочек хозяйственного мыла и легка в подключении на десятках страниц, с переименованием самого текста в кнопке, лишь бы не было таких тупых заморочек с ерундовой какой-то формой.
А вот код php (да, по-моему, именно php правил, чтобы добиться +7 и скобок ) , благодаря которому удалось сделать в форме +7. И, да, проверил на телефоне - работает. Очищал кэш, удалял историю, куки и проч. - всё равно работает. Ибо на телефоне отключено автообновление браузера. То есть, в старых версиях браузеров работает исправно. А в новых - штанга. Траблу этому с +7 менее месяца точно. Заметил сегодня.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (!empty($_POST['name']) && !empty($_POST['phone'])){
  if (isset($_POST['name'])) {
    if (!empty($_POST['name'])){
  $name = strip_tags($_POST['name']);
  $nameFieldset = "Имя пославшего: ";
  }
}
if (isset($_POST['phone'])) {
  if (!empty($_POST['phone'])){
  $phone = strip_tags($_POST['phone']);
  $phoneFieldset = "Телефон: ";
  }
}
if (isset($_POST['theme'])) {
  if (!empty($_POST['theme'])){
  $theme = strip_tags($_POST['theme']);
  $themeFieldset = "Тема: ";
  }
}
$ip=$_SERVER["REMOTE_ADDR"]; // Вычисляем ip пользователя
$brose=$_SERVER["HTTP_USER_AGENT"]; // Вычисляем браузер пользователя
$txtname = trim($_POST['name']);
$txtNameValue = trim($_POST['name_class_value']);
$txtphone = trim($_POST['phone']);
$txttheme = trim($_POST['theme']);
// от кого
$fromMail = 'info@foryou.com';
$fromName = 'заявка с сайта';
// Сюда введите Ваш email
$emailTo = 'suka-ti-djo@bk.ru';
$subject = 'Форма обратной связи';
$subject = '=?utf-8?b?'. base64_encode($subject) .'?=';
$headers = "Content-type: text/plain; charset=\"utf-8\"\r\n";
$headers .= "From: ". $fromName ." <". $fromMail ."> \r\n";
// тело письма
$body = "Получена заявка с сайта https://preaniki.com\n\nИмя: $txtname\nТелефон: $txtphone\nТема: $txttheme\n\nIP отправителя: $ip\nБраузер отправителя: $brose";
$mail = mail($emailTo, $subject, $body, $headers, '-f'. $fromMail );
//echo 'ok';
$token = ":AAGAzjUOwxUfJ0342c";
$chat_id = "-1941";
$arr = array(
  $nameFieldset => $name,
  $phoneFieldset => $phone,
  $themeFieldset => $theme
);
foreach($arr as $key => $value) {
  $txt .= "<b>".$key."</b> ".$value."%0A";
};
$txt = str_replace('+','%2B',$txt);
$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
if ($sendToTelegram) {
 
  echo '<p class="form-title success">Наши поздравления!<br />Вы сделали правильный выбор!</p>';
    return true;
} else {
  echo '<p class="form-title fail"><b>Ошибка. Сообщение не отправлено!</b></p>';
}
} else {
  echo '<p class="form-title fail">Ошибка. Вы заполнили не все обязательные поля!</p>';
}
} else {
header ("Location: /");
}
?>
А вот он JS для формы Telegram :
$(document).ready(function () {
    $(".form-element").submit(function () {
        var formID = $(this).attr('id');
        var formNm = $('#' + formID);
        var message = $(formNm).find(".form-message");
        var formTitle = $(formNm).find(".form-title");
        $.ajax({
            type: "POST",
            url: 'https://preanik.com/callback-form/telegramform/php/send-message-to-telegram.php',
            data: formNm.serialize(),
            success: function (data) {
              // Вывод сообщения об успешной отправке
              message.html(data);
              formTitle.css("display","none");
			    $('input','.form-element').not(':input[type=submit], :input[type=hidden], :reset').val('');
				$(".form-element input[type=submit]").attr('disabled','disabled');
              /* setTimeout(function(){
                formTitle.css("display","block");
                message.html('');
                $(".form-element input[type=submit]").attr('enabled','enabled');				
              }, 30000); */
            },
            error: function (jqXHR, text, error) {
                // Вывод сообщения об ошибке отправки
                message.html(error);
                formTitle.css("display","none");
                setTimeout(function(){
                  formTitle.css("display","block");
                  message.html('');
                  $('input').not(':input[type=submit], :input[type=hidden]').val('');
                }, 3000);
            }
        });
        return false;
    });	
	
});
  var modal = document.querySelector("#modal"),
	  modalOverlay = document.querySelector("#modal-overlay"),
	  closeButton = document.querySelector("#close-button"),
	  openButton = document.querySelector("#call-computer-master");
      openButton2 = document.querySelector("#call-pc-master");
      openButton3 = document.querySelector("#call-computer-wizard");
      openButton4 = document.querySelector("#phone-computer-wizard");
      openButton5 = document.querySelector("#computer-wizard-call");
      openButton6 = document.querySelector("#call-pc-wizard");
  
  closeButton.addEventListener("click", function() {
	modal.classList.toggle("closed");
	modalOverlay.classList.toggle("closed");
  });
  modalOverlay.addEventListener("click", function() {
	modal.classList.toggle("closed");
	modalOverlay.classList.toggle("closed");
  });
  openButton.addEventListener("click", function() {
	modal.classList.toggle("closed");
	modalOverlay.classList.toggle("closed");
  });
  openButton2.addEventListener("click", function() {
	modal.classList.toggle("closed");
	modalOverlay.classList.toggle("closed");
  });
  openButton3.addEventListener("click", function() {
	modal.classList.toggle("closed");
	modalOverlay.classList.toggle("closed");
  });
  openButton4.addEventListener("click", function() {
	modal.classList.toggle("closed");
	modalOverlay.classList.toggle("closed");
  });
  openButton5.addEventListener("click", function() {
	modal.classList.toggle("closed");
	modalOverlay.classList.toggle("closed");
  });
  openButton6.addEventListener("click", function() {
	modal.classList.toggle("closed");
	modalOverlay.classList.toggle("closed");
  });
  
  
  $(function(){
	$("#phone").mask("+7 (999) 999-99-99");
  });
И вот этот "openbutton" если используется в одном документе, то в другом документе - НЕ работает уже. А после "openbutton5" создание новых кнопок бесполезно - они тупо не работают вообще нигде и никак.