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

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

Thread Status:
Not open for further replies.
  1. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    PHP:
      users_menu_hide('menu_table_'+login);  
      var document_write = '';
      document_write += '<table onmouseout="win_r_v=0;users_menu_hide(\'menu_table_'+login+'\');" onmouseover="win_r_v=1;" cellspacing="1" cellpadding="2" id="menu_table_'+login+'" name="menu_table_'+login+'" class="menu_table">';
      document_write += '<tr><td onclick="to(\''+name+'\'); document.getElementById(\'menu_table_'+login+'\').style.display=\'none\';" width="150" class="menu_def"><center><b>'+login+'</b> ('+bals+')</center></td></tr>';
      document_write += '<tr><td onclick="userinfo(\''+name+'\'); document.getElementById(\'menu_table_'+login+'\').style.display=\'none\';" onmouseover="this.className=\'menu_hover\';" onmouseout="this.className=\'menu_def\';" onselectstart="return false;" class="menu_def"><img src="./theme/<?echo$skin;?>/icons/'+image+'" width="16" height="16" border="0" hspace="5" align="middle"> <?echo$lang['info'];?></td></tr>';

    почему то везде работает, кроме ФФ (не появляется всплывающее окно)
     
  2. оlbaneс

    оlbaneс Moderator

    Joined:
    5 Nov 2007
    Messages:
    1,376
    Likes Received:
    1,094
    Reputations:
    356
    и снова я. когда вывожу таблицу календаря и отмечаю в ней текущую дату, то после неё возникает новая клетка "undefined" я хз откуда она появляется, цикл иф елзе :( как избавится от этого undefined?
    в коде проблемный момент прокомментирован капсом
    Code:
    <!DOCTYpE HTML pUBLIC "-//W3C//DTD HTML 4.01 transitional//EN">
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=windows-1251">
      <meta name="generator" content="pSpad editor, www.pspad.com">
      <title></title>
      <style>
      body{background-image:url(http://byaki.net/uploads/posts/2008-02/1204270244_1.jpg); background-repeat: no-repeat;}
      p{color:red	; }
      h3{color:GreenYellow;}
      h2{color:Gold;}
      table  {border:darkred solid 1px;}
      td     { text-align:center;width:40px;background-color:lightgrey;border:darkred solid 1px; }
      td.one {font-weight:bold; background-color: grey;  }
      td.two {font-weight:bold; background-color: red;  }
      td.three {font-weight:bold; background-color: darkred; color:white;  }
    
      </style>
    
      </head>
    <body>
    
       <script type="text/javascript">
    
       var monthName= new Array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
       var dayName = new Array("Вс","Пн","Вт","Ср","Чт","Пт","Сб");
       time = new Date();
       //выводим шапку с названием текущего месяца
       document.write("<h3 align=center ><FONT SIZE=3>Календарь на текущий месяц:"+" "+"<h2>" +monthName[time.getMonth()]+ "</h2>" + "</FONT></h3><p ALIGN=CENTER>");
    /////// находим какой день первый в этом месяце
      day = time.getDay()  ;
      result = (time.getDate() % 7)-1 ;
      if (result > day) {    day += 7 ;  }
      firstDay = day - result   ;
     //  document.write(firstDay)  ;
    
      // находим сколько дней в этом месяце
      if (time.getMonth() == 1) {
        // добавляем код если год високосный
        thisYear = time.getYear() + 1900
        if (thisYear % 4 == 0) {
          if (thisYear % 100 == 0) {
            if (thisYear % 400 == 0) { daysInMonth = 29  }
            else {  daysInMonth = 28   }
          }
          else { daysInMonth = 29 }
        }
        else {  daysInMonth = 28 }
      }
      else {
        if (time.getMonth() == 0 || time.getMonth() == 2 || time.getMonth() == 4 || time.getMonth() == 6 || time.getMonth() == 7 || time.getMonth() == 9 || time.getMonth() == 11) {
          daysInMonth = 31 }
        else { daysInMonth = 30 }
      }
    
    ////////////////////////////
     document.write("   <table align='center' cellpadding='5' border='0' cellspacing='0' style='filter:alpha(opacity=60); opacity:0.5'><tr>")
    //рисуем заголовки дней недели. выходные красным цветом
      for (var s=0; s<7; s++)
           {    if (s==0 || s==6){document.write("<td class='two'>"+dayName[s]+"</td>");}else
             document.write("<td class='one'>"+dayName[s]+"</td>");
          }
           document.write("</tr>")
           //рисуем пустые дни
            for (i = 0; i < firstDay; i++) {
    
        document.write("<td  > &#160</td>")
      }
           // рисуем дни
      d = firstDay
      for (i = 1; i <= daysInMonth; i++) {
        if (!(d < 7)) {
          document.write("<tr>")
          d = 0 }
        if (i == time.getDate()) {   //показываем сегодняшний день
          dispDay = document.write("<td class='three'>"+i+"</td>");  //ВОТ ТУТ КОСЯК - ЕСЛИ УБРАТЬ ДОКУМЕНТ.ВРАЙТ И ТЕГИ ТО ВЫВОДИТ НОРМАЛЬНО
         }
        else { dispDay = i }
    
        document.write("<td  ><p ALIGN=CENTER>" + dispDay + "</p></td>")
        d++
      }
      //рисуем пустые клетки в полседние пустые дни
      if (d < 7) {
        for (i = d; i < 7; i++) {
          document.write("<td  >&nbsp </td>")
        }
      }
      document.write("</tr></TABLE>")
    
    </script>
    
    
    </body>
    </html>
    
     
    _________________________
  3. dr.Web

    dr.Web Member

    Joined:
    2 Feb 2009
    Messages:
    7
    Likes Received:
    22
    Reputations:
    10
    Ты не правильно код написал.

    PHP:
    <!DOCTYpE HTML pUBLIC "-//W3C//DTD HTML 4.01 transitional//EN">
    <
    html>
      <
    head>
      <
    meta http-equiv="content-type" content="text/html; charset=windows-1251">
      <
    meta name="generator" content="pSpad editor, www.pspad.com">
      <
    title></title>
      <
    style>
      
    body{background-image:url(http://byaki.net/uploads/posts/2008-02/1204270244_1.jpg); background-repeat: no-repeat;}
      
    p{color:red    ; }
      
    h3{color:GreenYellow;}
      
    h2{color:Gold;}
      
    table  {border:darkred solid 1px;}
      
    td     text-align:center;width:40px;background-color:lightgrey;border:darkred solid 1px; }
      
    td.one {font-weight:boldbackground-colorgrey;  }
      
    td.two {font-weight:boldbackground-colorred;  }
      
    td.three {font-weight:boldbackground-colordarkredcolor:white;  }

      </
    style>

      </
    head>
    <
    body>

       <
    script type="text/javascript">

       var 
    monthName= new Array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
       var 
    dayName = new Array("Вс","Пн","Вт","Ср","Чт","Пт","Сб");
       
    time = new Date();
       
    //выводим шапку с названием текущего месяца
       
    document.write("<h3 align=center ><FONT SIZE=3>Календарь на текущий месяц:"+" "+"<h2>" +monthName[time.getMonth()]+ "</h2>" "</FONT></h3><p ALIGN=CENTER>");
    /////// находим какой день первый в этом месяце
      
    day time.getDay()  ;
      
    result = (time.getDate() % 7)-;
      if (
    result day) {    day += ;  }
      
    firstDay day result   ;
     
    //  document.write(firstDay)  ;

      // находим сколько дней в этом месяце
      
    if (time.getMonth() == 1) {
        
    // добавляем код если год високосный
        
    thisYear time.getYear() + 1900
        
    if (thisYear == 0) {
          if (
    thisYear 100 == 0) {
            if (
    thisYear 400 == 0) { daysInMonth 29  }
            else {  
    daysInMonth 28   }
          }
          else { 
    daysInMonth 29 }
        }
        else {  
    daysInMonth 28 }
      }
      else {
        if (
    time.getMonth() == || time.getMonth() == || time.getMonth() == || time.getMonth() == || time.getMonth() == || time.getMonth() == || time.getMonth() == 11) {
          
    daysInMonth 31 }
        else { 
    daysInMonth 30 }
      }

    ////////////////////////////
     
    document.write("   <table align='center' cellpadding='5' border='0' cellspacing='0' style='filter:alpha(opacity=60); opacity:0.5'><tr>")
    //рисуем заголовки дней недели. выходные красным цветом
      
    for (var s=0s<7s++)
           {    if (
    s==|| s==6){document.write("<td class='two'>"+dayName[s]+"</td>");}else
             
    document.write("<td class='one'>"+dayName[s]+"</td>");
          }
           
    document.write("</tr>")
           
    //рисуем пустые дни
            
    for (0firstDayi++) {

        
    document.write("<td  > &#160</td>")
      }
           
    // рисуем дни
      
    firstDay
      
    for (1<= daysInMonthi++) {
        if (!(
    7)) {
          
    document.write("<tr>")
          
    }
        if (
    == time.getDate()) {  //показываем сегодняшний день
          
    dispDay document.write("<td style=color:red class='three'>"+time.getDate()+"</td>");  //ВОТ ТУТ КОСЯК - ЕСЛИ УБРАТЬ ДОКУМЕНТ.ВРАЙТ И ТЕГИ ТО ВЫВОДИТ НОРМАЛЬНО
         
    }
        else {
    dispDay=document.write("<td  ><p ALIGN=CENTER>" "</p></td>")}

        
    //alert(dispDay);//раскомментируй и увидишь почему undefined было
        
    d++
      }
      
    //рисуем пустые клетки в полседние пустые дни
      
    if (7) {
        for (
    d7i++) {
          
    document.write("<td  >&nbsp </td>")
        }
      }
      
    document.write("</tr></TABLE>")

    </script>


    </body>
    </html>
    Видишь что такое dispDay? это операция вывода на экран а ты её в переменную пытаешься вывести.
     
    #2203 dr.Web, 23 Mar 2010
    Last edited: 23 Mar 2010
  4. оlbaneс

    оlbaneс Moderator

    Joined:
    5 Nov 2007
    Messages:
    1,376
    Likes Received:
    1,094
    Reputations:
    356
    ну от undefined я вчера избавился убрав document.write. получилось
    однако теперь пропускает клетку и выходит за таблицу. задача выделить клетку с сегодняшней датой. как?
     
    _________________________
  5. SeregaZ

    SeregaZ New Member

    Joined:
    6 Mar 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    кто знает как посредством javascript'а проверить текст на наличие капслока? причем учитывая что слова могут начинаться с большой буквы - будь то первое слово в предложении или имя или название чего либо?
    сейчас у меня происходит проверка на некоторые популярные слоги русского языка. типа если нашел какой-либо слог - значит капс. но это не очень надежно. вот % отношение капса от общего количества текста вычислять бы... и типа если больше 60% текста капс - значит капс.
     
  6. оlbaneс

    оlbaneс Moderator

    Joined:
    5 Nov 2007
    Messages:
    1,376
    Likes Received:
    1,094
    Reputations:
    356
    http://www.google.ru/search?num=50&hl=ru&safe=off&client=firefox&hs=nrL&rls=org.mozilla%3Aru%3Aofficial&q=+%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C+%D0%B2%D0%B5%D1%80%D1%85%D0%BD%D0%B8%D0%B9+%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80+%D1%8F%D0%B2%D0%B0+%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82&lr=&aq=f&aqi=&aql=&oq=&gs_rfai=

    в первой ссылке
     
    _________________________
  7. SeregaZ

    SeregaZ New Member

    Joined:
    6 Mar 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    а причем тут это? что-то я слабо себе представляю как эти функции обработают мой текст и выдадут мне сообщение: "этот текст написан капслоком"
     
  8. Fliplab

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

    Joined:
    29 Jul 2008
    Messages:
    123
    Likes Received:
    20
    Reputations:
    3
    Подскажите плиз, есть некий список <select name="algo"> <option что-то там> и есть чуть ниже <font id="example">какойто текст</font>. Так вот надо при выборе какого-то <option> засунуть текст в example)))
    <script type="text/javascript">
    function zamena(id,text) {
    document.getElementById(id).innerHTML = text;
    }
    </script>

    <select name="algo">
    <option value="1223" class="area" onclick="javasript:zamena('example',this.value);" />
    </select>
    <font id="example">Текст для замены</div>

    выше перечисленное не работает(
     
  9. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    PHP:
    <script type="text/javascript">
    function 
    zamena(id,text
    {
        
    document.getElementById(id).innerHTML text
    }
    </script>

    <select name="algo" onchange="zamena('example',this.options[this.selectedIndex].value);">
    <option value="test">test</option>
    <option value="1223" class="area">replace</option>
    </select>
    <font id="example">Текст для замены</div>
    :)
     
  10. SeregaZ

    SeregaZ New Member

    Joined:
    6 Mar 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    сцуко, не успел :) и все таки как текст написанный большими буквами определять скриптом?
     
  11. Fliplab

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

    Joined:
    29 Jul 2008
    Messages:
    123
    Likes Received:
    20
    Reputations:
    3
    GreenBear спасибо)
     
  12. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    искать больше 6 букв подряд (пропуская пробелы и чтобы разрешить аббревиатуры), которые и написаны капсом. например сканируем текстареу по онсамбиту
    PHP:
    var caps 0;
    for(
    i=0;i<text.length;i++)
    {
        if(
    search_caps(text[i])) caps++;
    }
    if(
    caps 6) return false;
    ну а в функции search_caps просто искать переданный символ в больших буквах, и если он найден, то отдавать true, иначе false.

    потом смотрим переменную caps на значение, и если оно больше 6 то отменяем отправку формы... ну там уже по своему усмотрению - что надо то и делать
     
  13. SeregaZ

    SeregaZ New Member

    Joined:
    6 Mar 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    вобщем ясно... оставлю как есть... по слогам... просто слогов добавлю... сложно у вас как-то все :)
     
  14. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    че сложного? добавить проверку на 33 символа?))))
    только там еще надо добавить обнуление caps, если буква false возвращено :)
     
    #2214 GreenBear, 23 Mar 2010
    Last edited: 23 Mar 2010
  15. dr.Web

    dr.Web Member

    Joined:
    2 Feb 2009
    Messages:
    7
    Likes Received:
    22
    Reputations:
    10
    яж тебе готовый рабочий код с выделением дня выложил. чем он тебе не понравился?
     
    1 person likes this.
  16. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    вот кнопка всплывающего меню .
    PHP:
    <a href="#"  onclick="menu(\''+name+'\'); return false;" title="'+user_text+'('+balls+')">
    PHP:
    function usermenu(name)
    {
    win_r_v=0;
      
    document.getElementById('block').style.display='block';
      
    hide('block');
    }
    а сам дивовый блок с дисплей ноном(none) подключается через ифрейм

    там блок с сылками типа:
    PHP:
    <a href='javascript:void(0);' onclick='PM();return false;'>ПМ</a>
    и вот надо как-то сюда передать переменную name
     
  17. оlbaneс

    оlbaneс Moderator

    Joined:
    5 Nov 2007
    Messages:
    1,376
    Likes Received:
    1,094
    Reputations:
    356
    ахтыж. не заметил что ты код исправил и вставил только алерт.
    в яваскрипт переменные же можно переиначивать вот из за этого и ошибся.
    +
     
    _________________________
  18. schwarze

    schwarze Member

    Joined:
    1 Dec 2008
    Messages:
    64
    Likes Received:
    38
    Reputations:
    5
    Wolf

    PHP:
    var name PiwPiw;
    $(
    'iframe#frameId').load(function(name)  //frameId = id твоей iframe (впиши если нет) при загрузки iframe ...
        
    {
            $(
    "a").each(funtion(name){  // проходим по всем ссылкам и ставим на событие onclick функцию :
            
    $(this).click(function(name){
                
    PM(name);
                return 
    false;
            })
        });
        });
    P.S. mohze - а если iframe грузит страницу из vkontakte.ru - куки тоже можно использовать?
     
    #2218 schwarze, 24 Mar 2010
    Last edited: 24 Mar 2010
    3 people like this.
  19. Winst0n

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

    Joined:
    19 Aug 2008
    Messages:
    92
    Likes Received:
    5
    Reputations:
    0
    как из
    Code:
    <a onClick="return dropdownmenu(this, event, FUserMenu('nick', '158', '1', 'http://.ru/index.php?do=forum&'), '170px')" onMouseout="delayhidemenu()" href="#">nick</a> 
    выпарсить "nick" без всякого мусора ?
     
  20. restart_05

    restart_05 Member

    Joined:
    5 May 2009
    Messages:
    164
    Likes Received:
    6
    Reputations:
    0
    Подскажите хороший BB редактор на jquery
     
Thread Status:
Not open for further replies.