Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Перенос данных из таблицы на одной странице в форму на другой. (https://javascript.ru/forum/events/51710-perenos-dannykh-iz-tablicy-na-odnojj-stranice-v-formu-na-drugojj.html)

SokDobriy 28.11.2014 17:03

Aetae,
Я понял. Просто мне в какой-то момент стали приходить мысли, что используя setTimeout можно организовать эту многопоточность. Но это так, просто мысль. И ещё, пока искал решения, узнал про label, но так и не понял как они работают. А есть ещё breake и continue. И как то это надо всё кинуть в котел, добавить крыльев летучей мыши и перемешать. Но я как-то особо об этом не думал.

SokDobriy 28.11.2014 17:30

Aetae,
Можно ещё к вам вопрос?
Просто подумалось, что можно сохранять файлы файнридером, допустим в определенную папку. И что бы из этой папки скрипт сразу или по нажатию кнопки, закидывали файл на сервер, для обработки PHP скриптом.
Собственно вопрос, как?
Ну, то есть инпут файл понятно (хотя может и вообще что-то другое?). Что делать дальше и в какую сторону думать, не понятно.

Aetae 28.11.2014 18:07

Если делать всё вручную то php сервер будет лишним звеном.)
FineReader вроде ПО корпоративного уровня, по идее там должна быть поддержка загрузки на сервер(накрайняк отправки по почте). Если и нет то можно подцепить папку с сервака и грузить туда.

По поводу многопоточности через setTimeout - я в предыдущем комменте поленился расписывать, но суть в том, что если функция из setTimeout будет вызвана во время выполнения другого неделимого куска кода, то он будет поставлен в очередь до появления окна. Поток всё равно остаётся один, а время задержки в таймауте ставится не точное, а минимальное.

В современных браузерах есть API WebWorker позволяющий таки запускать ещё парочку отдельных потоков и общаться с ними посредством событий. В самых современных есть поддержка генераторов и yield. Но не нужно воевать с языком, его нужно понять.

kostyanet 29.11.2014 13:58

Цитата:

Сообщение от SokDobriy
На выходе получается html страница с обычной таблицей.

Не получается, вы получаете. ФР умеет сохранять куда угодно, в cvs например. Из которого стандартно все засасывается в любую mysql таблицу. У вас не в скриптах дело, а в workflow уродском.

SokDobriy 02.12.2014 04:59

Aetae,
Задача немного поменялась. Как обычно это бывает :)
Теперь нужно объеденить данные из нескольких таблиц. И я это сделал. Но вот в чём проблема. Обрабатываю два файла FileReader'oм, при завершении им загрузки, там же создаю <table> и засовываю всё туда. Со вторым файлом тоже самое. И, проблема в том, что хоть убей не могу потом обратиться к этим таблицам. То есть, он вероятно создаёт их после того, как я к ним обращаюсь, что бы я не делал. Всё это дело висит в addEventListener.

Aetae 02.12.2014 05:07

Честно говоря ничего не понял.

kostyanet 03.12.2014 17:18

Все нормально, когда у него будет 20 таблиц в пакете, он допрет поменять формат с html на csv.

SokDobriy 06.12.2014 05:01

Оказалось, что файнридер может сохранить все сканы в один html. В общем-то задачу решил. Всё работает. Данные засовываются в объект и к ним добавляется всё, что нужно из второго отчёта. Потом это дело находит и заполняет нужные поля.
С csv я не знаком. Разбираться ещё и с этим, не очень хотелось себе голову заморачивать. Но, за наводку спасибо.
Большое спасибо Aetae! Очень-очень приочень помогли! Приятно, что остались ещё отзывчивые люди.

kostyanet 06.12.2014 15:53

Цитата:

Сообщение от SokDobriy
С csv я не знаком

cvs это формат данных, в отличии от html, который - документ со всем барахлом.

Цитата:

Сообщение от SokDobriy
Оказалось, что файнридер может сохранить все сканы в один html

Зашибись. Я прилагал усилия найти чек-бокс сохранять все сканы в отдельные одноименные файлы - оказалось он прямо в диалоге сохранения, а у вас в один файл не писалось. Чудеса умолчаний.


Часовой пояс GMT +3, время: 22:05.