Ответы пользователя по тегу JavaScript
  • Как посмотреть пошагово работу скрипта в отладчике?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так вы просите JavaScript "выполни текущую и покажи следующую команду", вот он и переходит к первой команде фукции jquery.on(), которая описана в файле jquery-latest.min.js.

    Там, в консоли управления, кроме кнопочки "выполни текущую и покажи следующую команду", есть ещё кнопочка "выполни функцию целиком (без захода внутрь), и покажи следующую после функции команду"...

    P.S. Или ставьте breakpoint-ы не на объявлении функции, а на командах внутри нее.
    Ответ написан
    2 комментария
  • JavaScript не удаляется элемент. Что делать?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Функция ID() при каждом вызове генерирует уникальное значение. В результате у нового элемента id и textContent - разные. А значит и удалить элемент по его id получится, только если подсмотреть id в HTML-коде.
    Ответ написан
    Комментировать
  • Почему clearTimeout не работает?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ээээ, интересно, вы сами найдёте отсутствующую букву в строке javascipt:stop(), которая используется в ссылке отключения таймера?
    Ответ написан
    1 комментарий
  • Как в JS сделать запрос, аналогичный submit form в html?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вроде можно в форму прописать id=my_form, а потом document.getElementById('my_form').submit()

    А если нужен работающим ваш код, то this.message не сработает, нужно более конкретно указывать элемент, из которого нужны данные. Например опять-же через <input type=file id=my_files name=files multiple> и
    formData.append("files", document.getElementById('my_files').value);
    . И вывод лучше через console.dir(xhr).
    Ответ написан
    Комментировать
  • Uncaught SyntaxError: Unexpected end of JSON input?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Согласно коду, если пользователь существует - будет ошибка, и будет JSON с этой ошибкой.
    А если такой пользователь НЕ существует - будет пустой вывод, вообще без какого-либо JSON, как у вас на втором скриншоте, так? Ну так сделайте какой-нибудь
    else:
    $errors['success']="Пользователь радостно создан. Аллилуя!";
    Ответ написан
    1 комментарий
  • Как сделать отправку формы на почту без перезагрузки при помощи AJAX?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ой сомневаюсь я, что почтовый сервер Yandex пропустит к себе письмо, присланное НЕ напрямую с почтового сервера GMail-а, поскольку такая отправка письма в путь является чисто поддельно-спамерской.

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

    Проще использовать свой почтовый адрес, который просто обязан существовать на вашем WEB-сервере/у вашего хостера.
    Ответ написан
  • Как правильно подгрузить get данные в модальное окно?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    У вас на главной странице ведь не происходит вызова (исполнения) файла page.php с данными $_GET['id']="343r";? Следовательно и HTML модального окна не генерируется, этот HTML нигде не выводится, и на главной странице этого HTML просто нет.

    Вердикт: поэтому модальное окно с этим HTML на главной странице показать - НЕ-ВОЗ-МОЖ-НО, сколько ни тыкай по ссылке "Контакты"...
    Ответ написан
    Комментировать
  • Можно ли перевести данный код на язык PHP?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Язык программирования JavaScript и язык программирования PHP - это совершенно разные вещи. И переводить данный код на PHP - не имеет смысла.

    Если приводить аналогии, то ваш вопрос можно перефразировать так: можно ли сосиской подстричь волосы?
    Бессмысленный вопрос, верно? Или: можно ли шарфом заправить автомобиль? Что за бред, спросите вы. А вот ещё: можно ли зонтиком накормить ребёнка?

    Вот и ваш вопрос - не имеет смысла. То, что делается на JavaScript-е (приведённый код) потому и делается JavaScript-е, что он именно для этой работы и придуман. Если ещё непонятно - стоит обратиться к специалисту, который ещё и ещё раз разжуёт, другими словами, до полного понимания...
    Ответ написан
    7 комментариев
  • Как сделать чтобы после logina оставаться залогиненым на любых вкладках?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Во-первых, хранить в куках email для подтверждения авторизованности пользователя - глупо. Обычно там хранят какой-нибудь уникальный MD5, который ещё и в базе залогиненных пользователей хранится. А так можно взять известный email известного пользователя, засунуть его в cookie - и вуаля, я авторизован под этим пользователем.

    Во-вторых, cookie можно выставлять с самого сервера во время AJAX-запроса, и это будет правильнее. Нельзя такой функционал делегировать JS, который виден и выполняется на стороне пользователя.

    P.S. В области безопасности игнорирование устоявшихся стандартов и изобретение своих хитрозакрученных "велосипедов" может очень больно спустить на землю.
    Ответ написан
    3 комментария
  • Как после отправки данных запретить возвращение на старую?

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

    Всё остальное - это элегантная попытка прятаться за шваброй.
    Ответ написан
    Комментировать
  • Как вытащить из буфера данные при копировании ячеек Excel?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Скопируйте эти две ячейки, и вставьте в простой тектовый редактор (например Notepad). И вы увидите, что текст будет в виде двух строк, разделённых табуляцией \t. Соответственно при вставлении скопированного на вашей страничке можно разбить вставляемое по символу табуляции, и распихать части строки в нужные input-ы...
    Это элементарно, Ватсон!
    Ответ написан
    Комментировать
  • Форматирование строк?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Держите:
    $text = "Мама $мыла раму";
    if (preg_match_all("/(\$[а-яё]+)/iu", $text, $regs, PREG_SET_ORDER))
    {
        foreach ($regs[1] as $s)
        {
            echo($s."\n");
        }
    }
    Ответ написан
    Комментировать
  • Как добавить ссылку на свой сайт?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Самый простой вариант - хранить шаблоны в базе данных (SQL), а в URL указывать порядковый номер шаблона (site.ru/show.php?shablon=12345), который должен быть показан пользователю. Тогда понадобится один .PHP файл, который будет показывать все шаблоны.
    Ответ написан
    Комментировать
  • Отправка формы jQuery + AJAX + PHP?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если форма не отправляется - смотрите консоль в WebDev браузера. А вот если и там ошибок не будет...

    И ещё, 'select_all_php.php' какой-то неаккуратненький!
    <?php
    if (!empty($_POST['value'])) {
      $con = mysqli_connect('localhost','root','','test') or die(mysqli_connect_error());
    //echo "Выбран option с значением - ".$_POST['value'];
      $sqls = "SELECT * FROM `student` WHERE `fid`='".mysqli_real_escape_string($con, $_POST['value'])."'";
      $res = mysqli_query($con, $sqls) or die(mysqli_error($con));
    ?>
    <div class="info">
    <?php 
      if(!empty($res) AND $res->num_rows) {
        $row=$res->fetch_assoc();
        echo "<br> Студент:".'   '. $row["sname"].'   '. $row["birthday"];
      }
      mysqli_close($con);
    ?>
    </div>
    <?php
    }
    if($_POST['value'] == '0'){
    ?>
    <style type="text/css">
    #res{
    display: none;
    }
    </style>
    <?php
    }
    
    if(!empty($_POST['name'])) {
      $birthday='1989';
      $name =$_POST['sname'];
      $fid = $_POST['value'];
      $con = new mysqli('localhost','ijdbuser','a9b8e7q6555','workhome') or die(mysqli_connect_error());
      mysqli_query($con, "INSERT INTO student (sname,birthday,fid) VALUES('".mysqli_real_escape_string($con, $sname)."','".mysqli_real_escape_string($con, $birthday)."','".mysqli_real_escape_string($con, $fid)."')") or die(mysqi_error($con));
      mysqli_close($con);
    }
    ?>
    Ответ написан
    Комментировать
  • Почему не работает редирект на предыдущую страницу?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В вашем PHP-скрипте после echo $url_lin; уже никакой header("Location: $url_lin"); не будет работать. Ну включите уже вывод ошибок PHP, что ли: error_reporting(E_ALL);.
    Ответ написан
    Комментировать
  • Как сделать счетчик нажатий на кнопку для всех на сайте?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Наймите специалиста!
    Ответ написан
    2 комментария
  • Почему скрипт прокрутки блокирует другие js?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Такое ощущение, что всё портит строчка
    a.innerHTML = '<div style="'+s+'">'+a.innerHTML+'</div>';
    Ответ написан
    5 комментариев
  • Почему не запускается clearInterval?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если уж давать код, то лучше так:
    <html><title>Click-n-Win!</title>
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    </head>
    <body>
    <div style='width:200px; height:250px; border:1px solid black;'>
        <div id=heading style='position:relative; width:100px; height:50px; border:1px solid red;'>Click</div>
    </div>
    <script>
    var leftOffset = 0, topOffset = 0;
    
    var moveHeading = function () {
      if (leftOffset < $("#heading").parent().innerWidth() - $("#heading").outerWidth() && topOffset <=0)    leftOffset += clicks * 3;
      if (leftOffset >= $("#heading").parent().innerWidth() - $("#heading").outerWidth() && topOffset < $("#heading").parent().innerHeight() - $("#heading").outerHeight())
        topOffset += clicks * 3;
      if (leftOffset > 0 && topOffset >= $("#heading").parent().innerHeight() - $("#heading").outerHeight())   leftOffset -= clicks * 3;
      if (leftOffset <= 0 && topOffset > 0)     topOffset -= clicks * 3;
    
      $("#heading").offset({ left: $("#heading").parent().offset().left + leftOffset, top: $("#heading").parent().offset().top + topOffset});
    };
    var clicks = 0, intervalId;
    
    $("#heading").click(function () {
      clicks++;
      if (clicks == 1) intervalId = setInterval(moveHeading, 5);
      if (clicks < 10) $("#heading").text("You clicked "+clicks);
      if (clicks == 10) { clearInterval(intervalId); $("#heading").text("Congratulations! You won!"); }
    });
    </script>
    </body>
    </html>
    Ответ написан
    Комментировать
  • Как вывести сообщение об ошибке validator по ajax?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Сделайте не console.log(data);, а console.dir(data);, и посмотрите на структуру данных. Скорее всего там будет одна строка. А должны быть отдельные переменные "fail" и "errors". Если их нет - то и if (data.fail) { работать не будет, потому что data не распарсилась как JSON. А в JQuery ведь есть функция парсинга JSON, да?
    Ответ написан
    Комментировать
  • Почему не сбрасывается таймер в js?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    У вас clearInterval(times) не приведёт к обнулению таймера, потому что в качестве аргумента нужно указывать не массив чисел times, а результат tm, возвращённый функцией tm = setInterval(...);.
    Ответ написан