Ответы пользователя по тегу JavaScript
  • Округление возможно ли?

    OKyJIucT
    @OKyJIucT
    Sunshine reggae
    Поделите на 100 результат и округлите до целых. Это полотно ни к чему.

    Статья по округлению здесь
    Ответ написан
    6 комментариев
  • Как вывести сообщения "Отправлено" и "ошибка" после отправки формы?

    OKyJIucT
    @OKyJIucT
    Sunshine reggae
    После отправки возвращайте какой нибудь json из PHP, например

    echo json_decode(['status' => 'success']);

    вместо

    echo 'Message to telegram was sent. res = '.$result.'<br>';


    А в JS получайте его в блоке success и в зависимости от того, что вернулось, отображайте модальное окно, например, так:
    $.ajax({
                type: 'POST',
                dataType: 'json',
                url: 'http://fixi-pro.ru/ajax_order.php',
                data: data,
                success: function (data) {
                    form.trigger('reset');
                    if (data.status == 'success') {
                        // вызываем модальное окно, отправляем событие в метрику и ГА
                    } else {
                        // выдаем ошибку
                    }
                }
            });


    И вместо cURL в PHP вы можете использовать обычный file_get_contents - API телеграма метод GET также принимает.

    И здесь
    $ch = curl_init(data);
    у вас ошибка, data не нужна.

    Весь PHP обработчик будет выглядеть так

    <?php
    
    $token = "bot463504725:AAHfhNNz_aJA4iqj59Sa0Nx5EVravRMX8kM";
    $chatid = "-272771015";
    
    $name = $_POST['name'];
    $phone = $_POST['phone'];
    $mes = $_POST['text'];
    $mes2 = $_POST['text2'];
    
    $msgs = 
    ' Имя: '.$name.'
    ☎️ +'.$phone.'
     Сообщение: '.$mes.'
    '.$mes2.'
    ';
    
    
    $messaggio = date('H:i').' '.$msgs;
    
    $url = "https://api.telegram.org/" . $token . "/sendMessage?chat_id=" . $chatid . "&text=" . urlencode($messaggio);
    
    $result = file_get_contents($url);
    
    echo json_encode(['status' => 'success']);


    Дополнительно можете проверять ответ от API телеграма, и в случае ошибки возвращать другой статус и в JS в зависимости от этого другие действия выполнять
    Ответ написан
    1 комментарий
  • Как выполнить скрипт при переходе по ссылке на новую страницу?

    OKyJIucT
    @OKyJIucT
    Sunshine reggae
    В URL добавляйте параметр, и проверяйте его наличие на новой странице.

    К ссылке добавляем параметр opendiv=web
    <a href="http://site.ru/page.html?opendiv=web" class="link-new">


    и на новой странице вставьте такой JS-код
    function $_GET(key) {
    	var s = window.location.search;
    	s = s.match(new RegExp(key + '=([^&=]+)'));
    	return s ? s[1] : false;
    }
    
    $(document).ready(function() {
        if($_GET['opendiv'] == 'web') {
            $('#web').toggleClass('active');
        }
    });

    который проверяет, есть ли в URL такой параметр, и если есть, то он открывает див с id="web".
    Ответ написан
    4 комментария
  • Как передать значения чекнутых inpyt type checkbox в input type hidden?

    OKyJIucT
    @OKyJIucT
    Sunshine reggae
    <label><input type="checkbox" name="sizes[]" value="xxs">xxs</label>
    <label><input type="checkbox" name="sizes[]" value="xs">xs</label>
    <label><input type="checkbox" name="sizes[]" value="s">s</label>
    <label><input type="checkbox" name="sizes[]" value="m">m</label>
    <label><input type="checkbox" name="sizes[]" value="l">l</label>

    и потом обрабатывать массив sizes со списком размеров
    Ответ написан