Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
32 / 15 / 5
Регистрация: 19.11.2014
Сообщений: 626

Объясните, как это работает?

18.10.2017, 11:35. Показов 913. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Есть код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).ready(function() {
  $("#btnExport").click(function(e) {
    e.preventDefault();
 
    //getting data from our table
    var data_type = 'data:application/vnd.ms-excel';
    var table_div = document.getElementById('table_wrapper');
    var table_html = table_div.outerHTML.replace(/ /g, '%20');
 
    var a = document.createElement('a');
    a.href = data_type + ', ' + table_html;
    a.download = 'exported_table_' + Math.floor((Math.random() * 9999999) + 1000000) + '.xls';
    a.click();
  });
});
Поясните вот по этой части
JavaScript
1
2
3
4
    var a = document.createElement('a');
    a.href = data_type + ', ' + table_html;
    a.download = 'exported_table_' + Math.floor((Math.random() * 9999999) + 1000000) + '.xls';
    a.click();
document.createElement('a') - 'a' это строка, указывающая элемент какого типа должен быть создан. Какой в данном случае элемент должен быть создан?
Так же, когда в студии набираю этот код .download - такого свойства у этого элемента нет, поэтому при нажатии на кнопку файл не скачивается, почему?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2017, 11:35
Ответы с готовыми решениями:

Объясните как работает скрипт
Здраствуйте! Вот собственно скрипт. Очень буду рад если кто-нибудь мне досконально объяснит принцип его работы. Желательно по строчно. т.к...

Объясните как работает наследование (как обратится к элементу родительского класса)
В общем в Javascript-е вроде не новичок, но никогда не работал с классами и наследованием. В общем для примера приведу простой код. ...

Объясните как работает скрипт написанный в хедотделе
Есть скрипт написанный в хедотделе: var message='Правая кнопка мыши отключена!'; function click() { if (event.button ==...

8
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
18.10.2017, 12:28
Цитата Сообщение от Chizel Посмотреть сообщение
Какой в данном случае элемент должен быть создан?
Хм... действительно, какой же это элемент?
https://webref.ru/html/a
И что за атрибут?
https://webref.ru/html/a/download
1
32 / 15 / 5
Регистрация: 19.11.2014
Сообщений: 626
18.10.2017, 12:35  [ТС]
j2FunOnly, и почему не скачивает тогда?
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
18.10.2017, 13:10
Когда тогда? Когда студия вам не предлагает автозаполнением поставить этот атрибут?
0
32 / 15 / 5
Регистрация: 19.11.2014
Сообщений: 626
18.10.2017, 13:32  [ТС]
j2FunOnly, нет, конечно. Когда я на кнопку нажимаю. То есть вот этот код на html страничке в блоке <script>, нажимаю на кнопку с id="btnExport" и ничего не происходит.
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
18.10.2017, 14:00
А можно разметку посмотреть полностью (только таблицу с данными сократите / замените), и в консоли сообщения есть?
0
32 / 15 / 5
Регистрация: 19.11.2014
Сообщений: 626
18.10.2017, 14:08  [ТС]
j2FunOnly, вот, нигде никаких сообщений нет, просто чистая страница открывается и все
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<html>
<head>
    <title>@Model.TitleForDay</title>
    <link rel="stylesheet" href="~/Content/MyStyle.css" />
</head>
<body>
    <button id="btnExport">Export xls</button>
    <br/>
    <br/>
    <div>
        <table border="0">
            <tr>
                <td valign="top">
                    <div id="test">
                        <table class="data">
                            <caption class="font">@Model.TitleForDay</caption>
                            <tr>
                             таблица   
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </div>
    <script>
        $(document).ready(function () {
            $("#btnExport").click(function (e) {
                e.preventDefault();
 
                var data_type = 'data:application/vnd.ms-excel';
                var table_div = document.getElementById('test');
                var table_html = table_div.outerHTML.replace(/ /g, '%20');
                var a = document.createElement('a');
                a.href = data_type + ', ' + table_html;
                a.download = 'export_table.xls';
                a.click();
            });
        });
    </script>
</body>
</html>
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
18.10.2017, 15:11
Зрите в консоль браузера.

Вы используете jQuery, но не подключаете эту библиотеку, не надо так.
0
32 / 15 / 5
Регистрация: 19.11.2014
Сообщений: 626
19.10.2017, 07:44  [ТС]
Цитата Сообщение от j2FunOnly Посмотреть сообщение
Вы используете jQuery, но не подключаете эту библиотеку, не надо так.
Подключаю, у меня еще layout страница есть, меню по сути, в ней подключаю эту библиотеку.
В общем потестировал еще, в хроме работает, в ie не работает. Что-то можно сделать, чтобы и в ie работало?
И еще странность, в загруженном excel файле нет ни одной границы видимой, какая то некрасивая таблица получается. Это исправляемо?
Миниатюры
Объясните, как это работает?  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.10.2017, 07:44
Помогаю со студенческими работами здесь

Как это работает?
Приветствую, коллеги! Возникла необходимость немного изменить чужой html/js код и на одном из этапов я впал в ступор. Смотрите. В...

Как это работает?
new(Y)(arguments,arguments) Вопрос следующий, как это работает? &quot;Y&quot; содержит функцию, если эту функцию вписать вместо переменной,...

Почему не работает ondblclick в Opere 8 и как это исправить?
И как можно это исправить?

Как это работает (function(document) {.})(document);?
Добрый день! Нашёл замечательный скрипт menu effects. Хочу прикрутить к своему сайту. Во всех браузерах работает правильно, но в IE 11...

объясните как это работает
#include &lt;iostream&gt; #include &lt;algorithm&gt; using namespace std; long func (long * arr, int length) { return...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru