1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Не получается вывести возвращаемое функцией значение

Тема в разделе "Web - программирование", создана пользователем greendoc, 11 мар 2008.

Статус темы:
Закрыта.
  1. greendoc

    greendoc Гость

    Репутация:
    0
    При скрытии колонок (кстати может кому функция пригодится..) их номера заносятся в str.. я хочу вывести её в отдельном div (при нажатии на ++++).. див выводится пустой.. где ошибка?

    Код:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
    <script type="text/javascript">
    var str='';
    function toggle(obj) {
    debugger;
    hidden_groups();
    var el = document.getElementById(obj);
    el.style.display = (el.style.display != 'none' ? 'none' : '' );
    }
    
    function hidden_groups() {
    debugger;
    var tbl = document.getElementById('table_id');
    var rows = tbl.getElementsByTagName('tr');
    var cels = rows[0].getElementsByTagName('th');
    for (var i=2; i < 6; i++) {
    if (cels[i].style.display == 'none') {str += 'number'+ i +'<br />'}
    };
    return str;
    }
    
    function show_hide_column(btn,gr_name) {
    //debugger;
    var gr_no;
    switch (gr_name) {
    case "Sales" :
    gr_no = 2;
    break;
    case "HR" :
    gr_no = 3;
    break;
    case "CSC" :
    gr_no = 4;
    break;
    case "AD" :
    gr_no = 5;
    break;
    case "FD" :
    gr_no = 6;
    break;
    default : alert('The nonexistent group is chosen !')
    }
    
    var tbl = document.getElementById('table_id');
    var rows = tbl.getElementsByTagName('tr');
    stl = btn.checked ? '' : 'none';
    
    // Group Name
    var cels = rows[0].getElementsByTagName('th')
    cels[gr_no].style.display=stl;
    }
    
    </script>
    
    <body>
    <table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" id="table_id">
    <tr>
    <th bgcolor="#999999" scope="col" onclick="toggle('sh_div')">++++</th>
    <th bgcolor="#999999" scope="col">General</th>
    <th bgcolor="#999999" scope="col"><input type=checkbox id="gr2" onClick="show_hide_column(this,'Sales')" checked> Sales</th>
    <th bgcolor="#999999" scope="col"><input type=checkbox id="gr3" onClick="show_hide_column(this,'HR')" checked>
    HR</th>
    <th bgcolor="#999999" scope="col"><input type=checkbox id="gr4" onClick="show_hide_column(this,'CSC')" checked>
    CSC</th>
    <th bgcolor="#999999" scope="col"><input type=checkbox id="gr5" onClick="show_hide_column(this,'AD')" checked> AD</th>
    <th bgcolor="#999999" scope="col"><input type=checkbox id="gr6" onClick="show_hide_column(this,'FD')" checked> FD</th>
    </tr>
    </table>
    <!-- hidden div -->
    <div align="center" id="sh_div" style=" top:240px; HEIGHT:10px; WIDTH:150px; display:none; position:absolute" onclick="toggle('sh_div')">
    <table border="0" width="100%" bgcolor="#000000"
    cellspacing="1" cellpadding="2">
    <TBODY>
    <tr>
    <td align="middle" bgcolor="#FFFFE1">
    <script type="text/javascript">
    //hidden_groups();
    document.write(hidden_groups());
    </script>
    </td>
    </tr>
    </TBODY>
    </table>
    </div>
    </body>
    </html>
     
  2. Rjkz

    Rjkz Гость

    Репутация:
    0
    Ошибка в том что между тегами <TD></TD> , тэг <script> игнорируеться на сайте

    http://nik-we.narod.ru/e-table.html

    можете в этом убидиться , создайте таблицу нужной размерности нажав на "Создать" и попытайтесь в ячейку внести например тэг <font size=5> Hello </font> затем кликнете по другой ячейке ,а потом снова по той в которую это вписывали, вы увидите что текст в ячейки соответсвует введёному , а если вы введёте туда тэг <script>, и проделаете те же операции то обнаружете что этого тега там не будет,,,он затеряеться,,,

    если найдёте решение как вписывать в ячейки таблицы или в див <script>, и чтоб он исполнялся сообщите пожалуста здесь!
     
  3. greendoc

    greendoc Гость

    Репутация:
    0
    проблема была в том что
    Код:
    <script type="text/javascript">
    //hidden_groups();
    document.write(hidden_groups());
    </script>
    у меня выполняется один раз, при выводе страницы, а в тот момент str - пуст. Когда я отображаю div на экране скрипт внутри <script></script> не выполняется заново.
    Решил проблему изменив функцию
    Код:
    function toggle(obj) {
    hidden_groups();
    var el = document.getElementById(obj);
    el.style.display = (el.style.display != 'none' ? 'none' : '' );
    el.innerHTML = str;
    }
     
  4. Rjkz

    Rjkz Гость

    Репутация:
    0
    greendoc
    не выполняеться потому что игнорируеться именно так как я сказал?
     
  5. Vovochka

    Vovochka Гость

    Репутация:
    0
    Любой блок <script> исполняется лишь единожды в момент, когда он встречается браузеру при разборе страницы.
    + Функции типа document.write() исполняться лишь в момент отрисовки документа. Когда браузер отобразил страницу, они уже ничего не выведут.
     
  6. Rjkz

    Rjkz Гость

    Репутация:
    0
    ерунда если document.write() записать в функции и вызывать эту функцию,,то пичататься будет столько сколько нужно
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей