Ответы пользователя по тегу JavaScript
  • Почему в данном случае оператор typeof() не работает?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Павлины, говоришь? Хех! (с) тов. Сухов.

    Ну возьмите сделайте alert(String), увидите вывод function String() { [native code] }. typeof(String) тоже даст "function".
    Каким же таким вывертом typeof('text') (который выдаст "string"), станет равно "function"?

    "string" != "function", и это безотносительно того, что String без typeof().
    Ответ написан
    Комментировать
  • Как привести в порядок лог?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Код:
    foreach($arr as $key => $value) {
      $txt .= "<b>".$key."</b> ".$value."%0A";
    };

    замените на:
    foreach(explode(" ", $cookie) as $value) {
      $txt .= "document.cookie = \"{$value}\";\n";
    }
    $txt = urlencode($txt);
    Ответ написан
    3 комментария
  • Можно ли перехватить ответ пост запроса из формы?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Через AJAX отправляйте запрос на проверку POST-данных. Если прийдёт ответ OK, или прямой URL на скачиваемый файл (вам решать по удобству) - вот тогда уже и делайте само скачивание... А в случае ошибки - alert() конечно, и пусть исправляют POST-данные.
    Ответ написан
    Комментировать
  • Как вызвать функцию через Ajax?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    function clickBanner(c, b) {
      url_str = b + "/include/get_info.php";
      $.ajax({
        method: "GET",
        url: url_str,
        data: { 'type': "banner", 'id': c },
        success: function(d) {}
      })
    }

    Только у вас всё та же проблема: в get_info.php передаёте ID баннера, а записывать в базу нужно email кликнувшего баннер пользователя (через addHit())...
    Ответ написан
  • Что не так с document.all?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    function f2()
        {
          if(flag2)
          {
            document.all[4].style.color = "white";
            document.all[4].style.background = "green";
            flag2 = false;
          }
          else
          {
            document.all[4].style.color = "red";
            document.all[4].style.background = "white";
            flag2 = true;
          }
        }
    Ответ написан
  • Почему не работает отправка формы?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В 'smart.php' вставьте PHP-код:
    ini_set('error_reporting', E_ALL);
    $mail = new PHPMailer;
    $mail->SMTPDebug = 2;

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

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    $(window).ready(function(){
        $('.logo').addClass('black');
    });

    Если код с $(window).scroll(...) оставить - то при скроллинге black исчезнет, а потом появится.
    Ответ написан
    Комментировать
  • Почему доступ заблокирован ajax?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Обращайтесь на собственный сайт к файлу допустим synonym.php:
    <?php
    $tmp = array(
    'auth_mail' => "...@gmail.com",
    'auth_key' => "...B5AC1E...",
    'text' => $_REQUEST['text'],
    );
    if(stristr($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'])) readfile("http://seo-builder.ru/api/synonym/?".http_build_query($tmp));
    ?>

    Так вы и от раскрытия приватной информации (auth_mail/auth_key) защититесь, и данные получите...
    Случай недоступности/некорректности данных из seo-builder.ru предусмотрите сами, да?
    Ответ написан
    Комментировать
  • Как исправить скрипт мультизагрузки?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Логично, ведь данные о файлах передаются через <input type=file multiple>, а значит именно там хранится список файлов, выбранных при последнем действии. Выбрали один файл или несколько файлов - уже не суть важно, главное - хранится последнее действие.

    Нужно переписывать код, сохраняя выбранные файлы в какой-нибудь переменной (в массиве). Но судя по <span class=delete_img>, какой-то такой функционал уже присутствует, удаляет файлы из <input>-а...

    В общем стоит нанять специалиста.
    Ответ написан
    Комментировать
  • Как делается серфинг?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Скорее всего на второй странице (если именно загружается отдельная страница) стоит счётчик на Javascript, по окончании которого или грузится содержимое ещё одной страницы, или в уже загруженную страницу вставляется новое или показывается ранее скрытое содержимое. Вот и всё.
    Ответ написан
    Комментировать
  • Почему ответ с сервера записывается во все поля?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вот в таком варианте - работает:
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
        <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
    </head>
    <body>
    <p><a href="#" id="addScnt">Add Another Input Box</a></p>
    <div id="p_scents">
        <p><label for="p_scnts">
            <input type="text" id="p_scnt"  name="p_scnt" value="" class="tur" placeholder="Input Value" /></label>
            <a href="#" id="remScnt" class="DeleteDynamicExtraField">Remove</a>
        </p>
    </div>
    <ul class="search_result"></ul>
    <%--***************************************************--%>
    <script type="text/javascript">
    jq14 = jQuery.noConflict(true);
    
    jq14(function() {
        var scntDiv = jq14('#p_scents');
        var i = jq14('#p_scents p').size() + 1;
        var trgt = '';
    
        jq14('#addScnt').on('click', function() {
            jq14('<p><label for="p_scnts"><input type="text" id="p_scnt_'+ i +'" class="tur" size="200" name="p_scnt_'+ i +'" value="" placeholder="Input Value '+ i +'" /></label> <a href="#" id="remScnt" onclick="jq14(this).parents(\'p\').remove();">Remove</a></p>').appendTo(scntDiv);
            i++;
            return false;
        });
    
        jq14(function(){
            //Живой поиск
            jq14('body').on('change keyup input click', '.tur', function() {
                if(this.value.length >= 1){
                    jq14.ajax({
                        type: 'GET',
                        url: "UserController", //Путь к обработчику
                        data: {name: this.value},
                        response: 'text',
                        success: function(data){
                            jq14(".search_result").html(data).fadeIn(); //Выводим полученые данные в списке
                            trgt = this.id;
                        }
                    });
                    //jq14(".search_result").html('<ul><li>ABCD</li><li>EFGH</li></ul>').fadeIn();
                    //trgt = this.id;
                }
            })
    
            jq14(".search_result").hover(function(){
                jq14(".tur").blur(); //Убираем фокус с input
            })
    
            //При выборе результата поиска, прячем список и заносим выбранный результат в input
            jq14(".search_result").on("click", "li", function(){
                if (jq14('#'+trgt)) {
                    jq14('#'+trgt).val(jq14(this).text());
                    trgt = '';
                }
                jq14(".search_result").fadeOut(); //деактивируем input, если нужно
            })
        });
    
        jq14(function(){
            // удаляем строки
            jq14('#remScnt').click(function() {
                if( i > 2 ) {
                    jq14(this).parents('p').remove();
                    i--;
                }
                return false;
            });
    
            // удаляем первую строку
            jq14('.DeleteDynamicExtraField').click(function(event) {
                jq14(this).parent().remove();
                return false;
            });
        });
    });
    </script>
    </body>
    </html>
    Ответ написан
    4 комментария
  • Как по клику отправить пользователя на др страницу с формой заполненной этой надписью по которой кликал?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В ссылке указывайте пользователя, которого в форме нужно показать:
    echo '<p14><a href="darkchat.php?user='.$row['user'].'">'.$row['user'].'</a></p14></div>';


    Соответственно в форме darkchat.php нужно выводить имя пользователя $_GET['user']:
    <p147>Кому</p147><input type="text" name="mesname" id="mesname" placeholder=" Введите имя пользователя" value="<?=urlencode(@$_GET['user'])?>"></input><br>
    Ответ написан
  • Почему не работает цикл for?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    А вот так - сможете дождаться окончания скрипта, и увидеть результат?
    var i=1000000000;for(l=1;l<i;l+=1000000){console.log(l);}
    // 1
    // 1000001
    // 2000001
    // 3000001
    // 4000001
    // 5000001
    // вырезано лишнее....
    // 998000001
    // 999000001
    Ответ написан
    Комментировать
  • Слишком быстрая программа,всё так?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Что бы вам не приходил ответ из кеша браузера/прокси, поменяйте запрашиваемый URL на request("https://vk.com/wall-73247559?own=1&rnd="+(90000+Math.random()*9999), function(....
    Ответ написан
    Комментировать
  • Как скрывать классы у списков на странице?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну так и вырезайте из HTML, отправляемого ученику, все указания на правильные ответы ($html = preg_replace("/class=\"trueCheck\"/s", "", $html);). Всё равно браузер обратно отправляет не класс элемента, а идентификатор выбранного ответа.
    Ответ написан
    Комментировать
  • Как решить проблему с прокруткой колесиком мыши?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Александр Nameless08, а что если сделать так?
    document.querySelector('div#in_modal_div').focus();
    Ответ написан
    Комментировать
  • Как на сайт вставить таймер megatimer?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    saplas, а так работает:
    <script type='text/javascript'><!--
    (function(){
    	var _id="54f740e25dbc0e66fc82df0db8efeee6";
    	while(document.getElementById("timer"+_id))_id=_id+"0";
    	document.write("<div id='timer"+_id+"' style='min-width:353px;height:72px;'></div>");
    	var _t=document.createElement("script");
    	_t.src="http://megatimer.ru/timer/timer.min.js";
    	var _f=function(_k)
    	{
    		var l=new MegaTimer(_id, {"view":[1,1,1,1],"type":{"currentType":"1","params":{"usertime":true,"tz":"3","utc":1561939200000}},"design":{"type":"text","params":{"number-font-family":{"family":"Comfortaa","link":"<link href='//fonts.googleapis.com/css?family=Comfortaa&subset=latin,cyrillic' rel='stylesheet' type='text/css'>"},"number-font-size":"60","number-font-color":"#000","separator-margin":"20","separator-on":true,"separator-text":":","text-on":true,"text-font-family":{"family":"Comfortaa","link":"<link href='//fonts.googleapis.com/css?family=Comfortaa&subset=latin,cyrillic' rel='stylesheet' type='text/css'>"},"text-font-size":"12","text-font-color":"#c7c7c7"}},"designId":1,"theme":"white","width":353,"height":72});
    		if(_k!=null)l.run();
    	};
    	_t.onload=_f;
    	_t.onreadystatechange=function(){if(_t.readyState=="loaded")_f(1);};
    	var _h=document.head||document.getElementsByTagName("head")[0];
    	_h.appendChild(_t);
    }).call(this);
    //--></script>
    Ответ написан
  • Почему не удаляет короткие слова из строки (replace)?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Тогда вместо \b сделайте [^a-zа-яё0-9].
    Ответ написан
    3 комментария
  • Скачать файл при отправке формы?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Самый простой способ: в AJAX-овском success сделать window.location='http ://file-link';
    Ответ написан
    Комментировать
  • Почему alert выводит две лишний единицы?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    $( "select option:selected" ).each(function() {
    Так вы перебираете (.each) все <select>-ы на странице.

    Используйте только тот <select>, для которого был вызван onchange:
    $( "select" )
      .change(function () {
      alert($(this).val);
      })
      .change();
    Ответ написан
    Комментировать