[JavaScript, AJAX] Задай вопрос, получи ответ

Discussion in 'PHP' started by Isis, 9 Jun 2007.

Thread Status:
Not open for further replies.
  1. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    513
    Likes Received:
    148
    Reputations:
    5
    Вставляю в header *.php страницы данный код jquery. Запускается локальный файл
    Price.php и жду от него ответ.
    Вопрос:
    Не срабатывает строка кода alert( "RRRRRRR" );
    Почему


    PHP:
    <script type="text/javascript">
        $(
    document).ready(function(){
           $(
    "#btn_price").click(function(){
                    var 
    post_data;
                    
    post_data "Mark="+$("#Mark").val()+"&Model="+$("#Model").val()+"&Year="+$("#Year").val()+"&Km="+$("#Km").val();
                    $.
    ajax({
                         
    type"POST",
                         
    dataType"html"
                         
    url"/Price.php",
                         
    datapost_data,
                         
    success: function(msg){
                               
    alert"RRRRRRR"  );
                            }
                    });
            });
        });
    </script>
    Спасибо.
     
    #3181 rudi, 12 Oct 2011
    Last edited: 12 Oct 2011
  2. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    Можна на джава скрипте как то расчитать какой последний день месяца?
    например дата - 27-03-2011
    мне надо чтобы первая дата была 01-03-2011 а последняя - 31-03-2011

    или если дата 27-04-2011
    надо - - первая дата 01-04-2011 а последняя - 30-04-2011
     
  3. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    630
    Likes Received:
    138
    Reputations:
    20
    Сделай массив из 12-ти элементов, в каждом количество дней (элементы будут соответствовать месяцам).

    Первая дата, как не сложно догадаться, 1. Последняя будет mass[номер месяца - 1]
     
  4. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    Но тогда возникнет проблема - высокосный год, где в феврале не 28 а 29 дней, а это для меня важно, но ваш вариант неплох.
     
  5. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    630
    Likes Received:
    138
    Reputations:
    20
    Понять, високосный сейчас год или нет, тоже несложно.
    Когда мне нужно было подобное, родился вот такой код:
    Code:
    var leap = new Date().getFullYear();
    leap = leap % 4 == 0 && leap % 100 != 0 || leap % 400 == 0;
    
    Date() может принимать нужную дату в качестве аргумента. Если аргумент отсутствует - будет взята текущая дата.

    Если leap будет true - год високосный, false - нет.
     
  6. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    ага, понял, спаибо большое
     
  7. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    520
    Likes Received:
    105
    Reputations:
    53
    Code:
    var date = new Date();
    var month = date.getMonth(),
        year = date.getFullYear();
    
    var nextMonth = new Date(year, month+1,1);
    var maxDays = new Date(nextMonth - (24*60*60*1000)).getDate();
    maxDays - кол-во дней в месяце. Не надо делать никаких массивов и прочей херни, что те насоветовали выше.
     
  8. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    630
    Likes Received:
    138
    Reputations:
    20
    Раз уж ты такой нео-модернист, то и пиши так:

    Code:
    var now = new Date(); now.setDate(32);
    return 32 - now.getDate();
    
    Только отрабатываться эти варианты будут дольше, чем вариант с массивом.
     
  9. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    520
    Likes Received:
    105
    Reputations:
    53
    Даёшь костыли в массы!
    Лень тестить тобою написанный код на время производительности и сравнивать со своим - не буду спорить.

    А тот код что ты привёл - вообще не понял. Каким образом он помогает определить кол-во дней?

    var now = new Date(); now.setDate(32);
    получается 1е число текущего месяца. //UPD, получается 32 - кол-во дней в месяце.
    32 - {28,31} = {1,4};
    И?
     
    #3189 Melfis, 12 Oct 2011
    Last edited: 12 Oct 2011
  10. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    630
    Likes Received:
    138
    Reputations:
    20
    Если "костыли" работают во всех браузерах, причём, примерно в 10 раз быстрее (тебе лень, а я проверял оба своих написанных кода), то чем же они костыли? Особенно при учёте того, что в JS изначально не реализована функция получения количества дней.

    Если вдумаешься - то 32-е число автоматом переведёт месяц даты на следующий, а число также приплюсуется к 1.

    В итоге, мы получим не 32 - {28,31}, а, 32 - {1,4}.
    Так что, я бы 10 раз подумал, прежде чем что-либо называть хернёй ;)
     
  11. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    520
    Likes Received:
    105
    Reputations:
    53
    Массив дат + модули - реально шляпа (раз можно реализовать на автомате и меньшим количеством строк, как ты потом написал) =). Потестил скорость - разницы не увидел ;)

    Согласен, тупанул, сори ). Чёт не догадался таким макаром сделать.
     
  12. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    630
    Likes Received:
    138
    Reputations:
    20
    Melfis, ну, увидеть разницу просто так сложно. Я накидал функцию

    Code:
    function get_micro_time()
    {
    var now = new Date().getTime() / 1000;
    return now;
    }
    
    она в миллисекундах время возвращает, тестировать лучше на нескольких тысячах итераций, чтобы лучше была видна разница.

    Может, требуется таблицу сгенерить на 10 000 строк, в каждой используется количество дней? Тогда вообще без вариантов: массив + определение високосности на каждой итерации.
     
    #3192 FindeR, 12 Oct 2011
    Last edited: 12 Oct 2011
  13. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    Спасибо большое, разобрался, все советы оказались очень полезными! Спасибо ещё раз большое!!!
     
  14. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    167
    Reputations:
    99
    незнал куда отписать но:
    некоторые сайты замечают включенный adblock.
    интересует как они его замечают ?
    какие скрипты действуют при этом и прочии приспособы?
    http://cpalead.com/adblock.php?pub=39197
     
  15. scanislav

    scanislav Elder - Старейшина

    Joined:
    25 Jun 2010
    Messages:
    88
    Likes Received:
    22
    Reputations:
    31
    Проверяют, что все элементы на странице загрузились, как положено, что все запросы (картинок, айфреймов итп) произошли, что все стили верно установлены итп.

    Вот пример
    Code:
    (function () {
        var _ab = false;
        var _af = undefined;
        var _am = undefined;
    
        function detect_ab() {
            _af = document.createElement("IFRAME");
            _am = document.createElement("IMG");
            _af.id = '_afd';
            _af.src = '/adimages/';
            _af.style.display = 'block';
            _af.style.border = 'none';
            _am.id = '_amd';
            _am.src = '/adimages/textlink-ads.jpg';
            _am.style.width = _af.style.width = '1px';
            _am.style.height = _af.style.height = '1px';
            _am.style.top = _af.style.top = '-1000px';
            _am.style.left = _af.style.left = '-1000px';
            document.body.appendChild(_af);
            document.body.appendChild(_am);
            setTimeout(_ss, 100)
        };
    
        function _ss() {
            if (document.getElementById('_amd').style.display.indexOf('none') > -1) _ab = true;
            else if (document.getElementById('_afd').style.visibility == 'hidden') _ab = true;
            else if (document.getElementById('_afd').clientHeight == 0) _ab = true;
            _af.parentNode.removeChild(_af);
            _am.parentNode.removeChild(_am);
            if (typeof (_abdStatusFnc) != 'undefined') eval(_abdStatusFnc + '(' + _ab + ');');
            else {
                if ((_ab == true) && (typeof (_abdDetectedFnc) != 'undefined')) eval(_abdDetectedFnc + '();');
                if ((_ab == false) && (typeof (_abdNotDetectedFnc) != 'undefined')) eval(_abdNotDetectedFnc + '();')
            }
        };
        detect_ab()
    })();
    взято отсюда
     
  16. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    167
    Reputations:
    99
    помогите пожалуйста, у меня есть кнопки button
    ссылки на материал сам прописываю, но отображается при нажатию на любую из них только одна ссылка.
    PHP:
    <SCRIPT type="text/javascript"postform=function(){ new _uWnd('reg','Выберите Тему',1000,700,{autosize:1},'<iframe scrolling="yes" src="http://site.ru/documents/images/sovr_menegement.png" style="border:0;width:100%;height:100%;"></iframe>'); }; </SCRIPT>
    <A href="javascript://" onclick="postform()"><input type="button" value="Выбрать тему" class="but" onfocus="blur();" /></A>
    как сделать чтоб на клик каждой кнопки - открывался только тот материал который прописан в коде?
    iframe должен открыватся в сплывающем ajax окне, а открывает всегда при нажатии на одну из 4х кнопок только одну ссылку
     
  17. Lem'

    Lem' New Member

    Joined:
    24 Oct 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Сразу к делу:
    "Как избавиться от стандартной всплывающей подсказки для <a> средствами JavaScript (jQuery, наример)???"

    P.S.: e.preventDefault не катит!!
     
  18. Musli

    Musli Banned

    Joined:
    23 Oct 2011
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    что делает unescape?
     
  19. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,937
    Likes Received:
    805
    Reputations:
    224
    http://www.w3schools.com/jsref/jsref_unescape.asp
     
  20. GibridMelody

    GibridMelody Banned

    Joined:
    14 Sep 2011
    Messages:
    21
    Likes Received:
    5
    Reputations:
    13
    Как будет iframe на java script?
     
Loading...
Thread Status:
Not open for further replies.