Ответы пользователя по тегу JavaScript
  • Будет ли правильный результат Date.now(), если у пользователя установлена некорректная дата и время?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Некорректный вопрос. Потому что не описано, КАКОЕ ИМЕННО время считается некорректным. На планете Земля имеется 24 часовых пояса, в каждом время отличается, и везде оно будет совершенно корректно в пределах своего часового пояса. Или имеется ввиду другой день недели, или другой месяц, или даже другой год? Так даже в этом случае число будет корректным (цифра - она и есть цифра), просто оно не будет соответствовать реальному времени в реальном часовом поясе.

    P.S. А вы собираетесь полагаться на это число как на идеально правильное и точное?
    Ответ написан
    Комментировать
  • Как понять рекурсию в коде ниже?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Первый вопрос: потому что срабатывает условие n <= 0, и возвращается 0.

    Второй вопрос: потому что число 2 в массиве находится в нулевом (1 - 1 = #0) элементе массива, именно оно суммируется с финальным 0, и эта сумма возвращается.

    Третий вопрос: получается стартовый элемент 3 - 1 = #2, значит суммируются числа 4 + 3 + 2 + 0 = 9, потому что именно число 4 находится во #2-ом элементе массива.
    Ответ написан
    Комментировать
  • Почему не выполняется условие в JavaScript?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так напишите console.log(result == "username-error");, и увидите результат этой проверки. И лучше делать console.dir(result);, тогда будет видна настоящая структура result, может там вообще массив сидит...
    Ответ написан
    Комментировать
  • Как в return получить несколько значений?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    IMHO это из-за асинхронности.
    Сначала выполняется первыя функция, она отправляет HTTP-запрос, и заканчивает работу, ничего не возвращая - потому что нечего возвращать.

    Вторая функция получает return из первой функции, но он ПУСТОЙ, ага.

    И только поооо-о-о-о-о-осле выполнения HTTP-запроса (от долей секунды до многих секунд) происходит вызов функции из res.onload, которой возвращать уже некуда/некому, она ведь вызывается не из второй функции...

    Переносите обработку данных из второй функции внутрь res.onload, либо вызывайте обработочную часть второй функции изнутри res.onload.
    Ответ написан
  • Как получить данные со второго домена через fetch, если Header set Access-Control-Allow-Origin * уже стоит?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В любом современном браузере откройте DevTool (кнопка F12), перейдите на вкладку Network, совершите необходимое обращение к другому домену, и смотрите, что именно браузер получил в этом запросе (щёлкнуть запрос, смотреть в окошечке слева во вкладке Response). Вот 100% там будет HTML вместо ожидаемого JSON.
    Ответ написан
    1 комментарий
  • Js не выводит php echo через переменную?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    var echoId нельзя так вставлять внутрь объекта {}!

    И спросите Google, почему это вдруг никто не исполняет PHP-код в файле с расширением .js. Как и .txt, и .doc, и .pdf, и .mp3, и т.д., и т.п., и ё.к.л.м.н...

    P.S. Кстаааати... Делается AJAX запрос к серверу, после которого делается вывод названия города. И вот это название уже жестко вписано в JS (с помошью "неработающего" PHP). Ну и где тут логика?
    Ответ написан
    Комментировать
  • Как отправить post/ответ на форму при открытии ссылки?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Передавайте в ссылке на форму (с AJAX) какой-нибудь идентификатор/пароль, при наличии которого форма при генерации сразу будет заполняться чем нужно.

    P.S. Или вам нужно запустить AJAX? Ну так вставьте вызов AJAX в событие onload. В window.location есть URL, а в нём - GET аргументы.
    Ответ написан
  • Почему document.getElementById(id).src выдаёт ошибку?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    А вот символ ` (обратная кавычка) вокруг img1 - это откуда взято?
    Строки же обычно обозначаются через одиночную кавычку ' или через двойную ".

    P.S. Плюс ещё значение переменной c должно быть от 0 до 3, то есть if (c + 1 > 3) ....
    Ответ написан
  • Как инициализировать изменение input?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Добавьте для формы <form id=myForm ...>
    А после изменения input сделайте еще document.getElementById("myForm").submit();
    И будет вам щаястие!
    Ответ написан
    Комментировать
  • Как сделать условие вывода при успехе AJAX?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Надо if(response.error="true"),
    и соответственно в PHP вывод
    echo(json_encode(array('error' => "true")));exit();
    Ответ написан
    3 комментария
  • Ajax игнорирует условие и выполняется в любом случае. Почему?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Хммм, если у элемента rus_lang существует параметр selected - то удалить параметр selected, а потом снова его добавить, что бы JS ещё раз зашел в этот if, и снова удалил и добавил, и снова, и снова, и так по кругу?
    Ответ написан
    5 комментариев
  • Почему после ajax запроса кавычки меняются?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вот строка $str = str_replace('&', '', $str); вам всё и портит. Без неё выводимый текст будет иметь вполне корректный HTML-формат, правильно отображаемый в браузерах. А с вырезанными & уже получается невесть что...

    Но для безопасности вашего сайта нужно обфусцировать все <script>, что бы они не попадали к вашим пользователям в чистом виде - это небезопасно, XSS может получиться.
    Ответ написан
    Комментировать
  • Не понимаю как вывести все строки из одной таблицы?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну всё правильно, вы выводите не массив элементов, у кучу элементов, один за другим.
    Это как текст писать - без знаков препинания и пробелов, и читающим будет непонятно.
    Вот и JS такой JSON не примет, в нем ошибка, нет JSON-структуры.
    Сделайте так:
    $out = array();
    while ($row = $stmt->fetch()) {
        $out[] = $row;
    }
    header('Content-Type: application/json');
    echo(json_encode($out));
    exit();
    Ответ написан
  • Почему не выполняется PHP функция при клике?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Во-первых, в POST-запросе не указан идертификатор сессии (PHPSESSION кажется), а значит PHP сессию не найдет, а значит $_SESSION будет пустой.

    Во-вторых, кто и по какому условию запустит на выполнение функцию notificationReset()? Из приведённого кода этого не видно.
    Ответ написан
  • Как посмотреть пошагово работу скрипта в отладчике?

    @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-сервере/у вашего хостера.
    Ответ написан