<div class="form-horizontal">
<input type="tel" class="numberField form-control" id="numberField">
<div class="numbersGrid">
<div class="numbersCol"><button class="numberButton" data-symbol="1">1</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="2">2</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="3">3</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="4">4</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="5">5</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="6">6</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="7">7</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="8">8</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="9">9</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="*">*</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="0">0</button></div>
<div class="numbersCol"><button class="numberButton" data-symbol="#">#</button></div>
</div>
<a href="" id="call" class="call">ОТПРАВИТЬ</a>
</div>
Скрипт:
<code lang="javascript">
$(document).ready(function() {
$(() => {
class Call {
constructor () {
this.elements = {
numberButtons: $('.numberButton'),
numberField: $('#numberField'),
call: $('#call')
};
this.init();
}
init () {
this.bindEvents();
}
// Обработка клика по кнопке с символом
onClickSymbol (event) {
var el = $(event.currentTarget);
var symbol = el.data('symbol');
var val = this.elements.numberField.val();
var newVal = val + symbol;
this.elements.numberField.val(newVal);
this.setTelNumberInCall(newVal);
}
// Обработка по вводу в поле
onInput (event) {
var value = this.elements.numberField.val();
this.setTelNumberInCall(value);
}
// Установить значение с телефоном в кнопку вызова
setTelNumberInCall (value) {
var telFormat = `tel:${value}`;
this.elements.call.attr('href', telFormat);
}
// Отправить номер на сервер
sendNumber (number) {
$.ajax({
url: 'action.php', // Куда отправить
type: 'default GET (Other values: POST)', // Каким методом
dataType: 'json',
data: {
number
}
})
.done(() => console.log("success"))
.fail(() => console.log("error"));
}
// Навешивание событий
bindEvents () {
// Клик по символам
this.elements.numberButtons.on('click', (event) => {
this.onClickSymbol(event);
});
// Ввод в поле
this.elements.numberField.on('input', (event) => {
this.onInput(event);
});
}
}
var call = new Call();
});
});
</code>
<?php
header("Content-Type: text/html; charset=utf-8");
function send_form($message) {
$mail_to = "Irtg@yandex.ru.ru"; // Адрес, куда отправляем письма
$headers = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/html; charset=utf-8rn";
$headers .= "From: ".$subject." <no-reply@".$_SERVER['HTTP_HOST'].">rn";
mail($mail_to, $subject, $message, $headers);
}
$sendNumber = "";
$errors = array();
$msg_result = "";
foreach($errors as $all_error) {
$sendNumber .= $all_error."<br>";
}
}
echo json_encode(array(
"result" => $sendNumber
));
?>
function send_form($message) {
$mail_to = "Irtg@yandex.ru.ru"; // Адрес, куда отправляем письма
$headers = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/html; charset=utf-8rn";
$headers .= "From: ".$subject." <no-reply@".$_SERVER['HTTP_HOST'].">rn";
mail($mail_to, $subject, $message, $headers);
}
send_form()
возьмётся переменная $subject
. А ещё посмотрите, что в итоге у вас получается в строке $headers
, насколько валидно это значение (например, отсутствия точек с запятой, непонятные "rn") и подумайте, зачем вы всё это туда кладёте.