abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    dnes 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | Nová verze

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 2
    včera 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 4
    včera 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    22.5. 14:11 | IT novinky

    Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.

    Ladislav Hagara | Komentářů: 17
    22.5. 12:33 | Nová verze

    LibreOffice 24.8 bude vydán jako finální v srpnu 2024, přičemž LibreOffice 24.8 Alpha1 je první předběžnou verzí od začátku vývoje verze 24.8 v prosinci 2023. Od té doby bylo do úložiště kódu odesláno 4448 commitů a více než 667 chyb bylo v Bugzille nastaveno jako opravené. Nové funkce obsažené v této verzi LibreOffice najdete v poznámkách k vydání.

    ZCR | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (82%)
     (4%)
     (7%)
     (7%)
    Celkem 524 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: jak načíst pole do JS

    9.3.2020 21:51 Kolejdoucí
    jak načíst pole do JS
    Přečteno: 1298×
    Dobrý večer, můžu v html stránce vybrat pomocí inputu soubor a načíst ho? V souboru je pouze pole, které potřebuji načíst do JS.

    Zkoušel jsem bez výsledku tohle:
    <body>
    <input id="arrayfile" type="file" />
    <button onclick="loader()">loader</button>
    </body>
    
    function loader(){
    console.log(document.getElementById("arrayfile").value);
    }
    

    Odpovědi

    9.3.2020 22:36 debian+
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Dobrý večer, můžu v html stránce vybrat pomocí inputu soubor a načíst ho?
    Priamo nie.

    Hm, a poslat na server a nasledne si to stiahnut?
    9.3.2020 22:59 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Nevěřím, obrázek načíst jde.
    9.3.2020 23:21 debain
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Debi(l)ana+ neposlouchej, to je místní šašek bezhlavě spamující poradnu. Chceš asi FileReader a nad tím JSON.parse().

    Hele.
    9.3.2020 23:32 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Děkuji, obsah souboru je načten a vložen mezi značky <script> </script> Jenže jak to udělat aby to JS viděl? Aby s tím mohl pracovat. V DOMu vidím, že se to tam vložilo.
    9.3.2020 23:53 debian
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Něco takového, hele.
    10.3.2020 00:35 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Ta živá ukázka mi hází chybu
    Uncaught SyntaxError: Unexpected token A in JSON at position 0
        at JSON.parse (<anonymous>)
        at FileReader.reader.onload ((index):50)
    reader.onload @ (index):50
    load (async)
    loadJson @ (index):48
    onchange @ (index):42
    10.3.2020 06:42 debian
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Protože tam předpokládám cpeš nevalidní json
    10.3.2020 06:48 debian
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Resp. odhaduji že tam necpeš žádný json, jestli je to tvoje rozhodnutí, tak si musíš udělat vlastní parser hodnot z promenne co se ted jmenuje json_txt. Jestli mas ale moznost vyberu dat, tak json je snazsi.
    Gréta avatar 10.3.2020 10:59 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: jak načíst pole do JS

    ukaž jak jako vypadá texťák co tam strkáš

    10.3.2020 11:03 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Tady je, v souboru jsou dvě pole, nebo asi spíš tam jsou dvě pole polí, nevím.
    pole1=[
    {a:1,b:5,c:"12.01.2020",d:"Lorem ipsum dolor sit amet"},
    {a:2,b:7,c:"12.01.2020",d:"Nunc egestas a nulla nibh"},
    {a:3,b:8,c:"12.01.2020",d:"Pretium faucibus tinbunt tinbunt Nulla"},
    {a:4,b:1,c:"12.01.2020",d:"Nunc metus pulvinar vitae non"},
    ];
    
    pole2=[
    {a:1,b:"Lorem",c:0},
    {a:2,b:"Egestas",c:1},
    {a:3,b:"Faucibus",c:1},
    {a:4,b:"Tinbunt",c:1},
    ];
    Gréta avatar 10.3.2020 11:39 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: jak načíst pole do JS

    to je formát pole v javascriptu to neni validní json a sou to dvě pole najednou. pokuď si mužeš vybírat formát tamtoho souboru tak jako určitě šahej po json. pokud ne tak asi bude potřeba namastit vlastní parser :'( :'( nóóó a jít cestou nějakýho jsinjectu asi neni uplně supr nápad ;D

    v js převedeš pole na json takhlen

    var jsonString = JSON.stringify(pole1);

    by mělo vypadat takle nějak

    [{"a":1,"b":5,"c":"12.01.2020","d":"Lorem ipsum dolor sit amet"},
    {"a":2,"b":7,"c":"12.01.2020","d":"Nunc egestas a nulla nibh"},
    {"a":3,"b":8,"c":"12.01.2020","d":"Pretium faucibus tinbunt tinbunt Nulla"},
    {"a":4,"b":1,"c":"12.01.2020","d":"Nunc metus pulvinar vitae non"}]
    

    takhle formátovanej texťák by dotoho jako už mělo jít strčit ;D

    10.3.2020 12:24 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Díky! Tohle funguje, ale co když je v tom souboru těch polí víc a navíc má každé pole jinou strukturu?

    a tohle
    var jsonString = JSON.stringify(pole1);
    jde udělat opačně?
    10.3.2020 12:29 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Nešlo by to třeba spojit?
    [
    pole1=[{a:1,b:5,c:"12.01.2020",d:"Lorem ipsum dolor sit amet"},
            {a:2,b:7,c:"12.01.2020",d:"Nunc egestas a nulla nibh"},
            {a:3,b:8,c:"12.01.2020",d:"Pretium faucibus tinbunt tinbunt Nulla"},
            {a:4,b:1,c:"12.01.2020",d:"Nunc metus pulvinar vitae non"},
           ],
    pole2=[{a:1,b:"Lorem",c:0},
           {a:2,b:"Egestas",c:1},
           {a:3,b:"Faucibus",c:1},
           {a:4,b:"Tinbunt",c:1},
           ]
    ]
    10.3.2020 12:57 debian
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Nešlo by se podívat co to vůbec JSON je? Jako sorry, ale s tímhle přístupem narazíš na každym malinkatym problému, kterých je programování plný.

    Můžeš si je vnořit:

    [

    [{a:1,b:5,c:"12.01.2020",d:"Lorem ipsum dolor sit amet"},

    {a:2,b:7,c:"12.01.2020",d:"Nunc egestas a nulla nibh"},

    {a:3,b:8,c:"12.01.2020",d:"Pretium faucibus tinbunt tinbunt Nulla"},

    {a:4,b:1,c:"12.01.2020",d:"Nunc metus pulvinar vitae non"},

    ],

    [{a:1,b:"Lorem",c:0},

    {a:2,b:"Egestas",c:1},

    {a:3,b:"Faucibus",c:1},

    {a:4,b:"Tinbunt",c:1},

    ] ]

    A přistupovat k tomu jako o[0] a o[1]

    Nebo je mít jako objekt: {

    "pole1": [{a:1,b:5,c:"12.01.2020",d:"Lorem ipsum dolor sit amet"},

    {a:2,b:7,c:"12.01.2020",d:"Nunc egestas a nulla nibh"},

    {a:3,b:8,c:"12.01.2020",d:"Pretium faucibus tinbunt tinbunt Nulla"},

    {a:4,b:1,c:"12.01.2020",d:"Nunc metus pulvinar vitae non"},

    ],

    "pole2": [{a:1,b:"Lorem",c:0},

    {a:2,b:"Egestas",c:1},

    {a:3,b:"Faucibus",c:1},

    {a:4,b:"Tinbunt",c:1},

    ] }

    A přistupovat k tomu jako o.pole1 a o.pole2

    10.3.2020 13:22 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Tak tohle tím loaderem neprojde
    [
            [
                    {"a":1,"b":5,"c":"12.01.2020","d":"Lorem ipsum dolor sit amet"},
                    {"a":2,"b":7,"c":"12.01.2020","d":"Nunc egestas a nulla nibh"},
                    {"a":3,"b":8,"c":"12.01.2020","d":"Pretium faucibus tinbunt tinbunt Nulla"},
                    {"a":4,"b":1,"c":"12.01.2020","d":"Nunc metus pulvinar vitae non"},
            ],
            
            [
                    {"a":1,"b":"Lorem","c":0},
                    {"a":2,"b":"Egestas","c":1},
                    {"a":3,"b":"Faucibus","c":1},
                    {"a":4,"b":"Tinbunt","c":1},
            ]
    ]
    a tohle taky ne
    {
            "pole1": [
                    {"a":1,"b":5,"c":"12.01.2020","d":"Lorem ipsum dolor sit amet"},
                    {"a":2,"b":7,"c":"12.01.2020","d":"Nunc egestas a nulla nibh"},
                    {"a":3,"b":8,"c":"12.01.2020","d":"Pretium faucibus tinbunt tinbunt Nulla"},
                    {"a":4,"b":1,"c":"12.01.2020","d":"Nunc metus pulvinar vitae non"},
            ],
            
            "pole2": [
                    {"a":1,"b":"Lorem","c":0},
                    {"a":2,"b":"Egestas","c":1},
                    {"a":3,"b":"Faucibus","c":1},
                    {"a":4,"b":"Tinbunt","c":1},
            ]
    }
    Jinak práce se soubory nejsou vůbec jednoduchá záležitost a věřím, že ani pro profíka, natož úplného amatéra. Tak, že pokud mě nikdo neporadí, končím - tohle podle žádného tutoriálu bohužel nedám. Trápím se s tím > týden :-(
    10.3.2020 13:33 debian
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Já chápu že to není lehký, ale snažim se tě (jako profík) naučit jak postupovat, protože takhle to nejde.

    Už víš že si máš přečíst dokumentaci. Teď se nauč jak validovat vstup, když "to neprojde".

    jsonlint.com (JSON validator do Googla)

    Odpověď je jednoduchá, ale schválně ti ji nepíšu.
    10.3.2020 17:23 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Tak podle validátoru jsem to opravil hned, ale je zajímavé, že někdy to vadí a někdy ne. V každém případě moc děkuji.
    Gréta avatar 10.3.2020 15:33 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: jak načíst pole do JS

    musíš jako číst takový ty chybový hlášení coto jako piše do webový konzole ;D

    u těch vnořenejch polí mozilla napsala

    SyntaxError: JSON.parse: unexpected character at line 7 column 9 of the JSON data
    

    nóóóó a na tý pozici v souboru je končicí hranatá závorka. se jako podrbu na za uchem a začnu přemejšlet proč by jako hergot měla hranatá závorka něčemu vadit jako aproč ji jako tam nečeká?????? začnu tim že se podivám coje jakoby před tou závorkou a co nevidim!!!!!!!!! čárka za posledním elementem pole!!!!! tak ji jako odmáznu protože v json nekončí pole čárkou čárka je separátor mezi prvkama. nóóóó znova to pustim a znova si to jako bude stěžovat na stejnou věc alev druhým poli. umáznu pustim a už to jede!!!!! :O :O :D ;D

    u tý druhý ukázky uplně stejně. problém sou ty čárečky ;D

    hele celkem dobrej tutorial na json ;D

    10.3.2020 17:27 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Aha, tak to Chrome mi psal zcela něco jiného.

    Tak už to ukládá, načítá, čeština taky ok, už jen nějakým kouzlem ošetřit tu asynchroní funkci aby program neběžel dál dokud se soubor nenačte. Jinak taky moc děkuji i tobě.
    10.3.2020 17:37 debian
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    10.3.2020 20:15 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Tomu vůbec nerozumím jak to pozná, že se to načetlo a běh programu může pokračovat :-(
    10.3.2020 20:27 debian
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Nemyslíš doufám return? :-D
    10.3.2020 20:37 debian
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Jo ty myslíš detekci toho parsování? To musíš výjímky:

    try {

    jsonObj = JSON.parse(response);

    } catch(e) {

    // něco se posralo

    }

    10.3.2020 20:59 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    // něco se posralo :-D tak to už dávno.. A ta výjímka je synchronní? Bude čekat program na rozhodnutí té výjímky jak to dopadlo s načteným souborem?
    10.3.2020 21:30 debian
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Řekl bych že nepočká, ale jsem céčkař, tak to ber s rezervou. Použij ten try block jen okolo toho JSON.parse volání a nemusíš to dál řešit, tam už nic asynchronního neni. Tzn tak jak jsem napsal.
    Gréta avatar 10.3.2020 22:04 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Gréta avatar 10.3.2020 22:02 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: jak načíst pole do JS

    si myslim že si se blbě kouknul :O :O kolemjdoucí piše dokud néé pokud ;D

    nóóó js je asynchroní a používaj se tam takzvaný callbacky. callback je taková funkce co se zavolá až jiná funkce zkončí. s callbackem takle nějak debianův příklad

    <html>
    <head>
    <meta charset="UTF-8">
    </head>
      <body>
      <input type='file' accept='*' onchange='loadJson(event,neco_dalsiho)'>
      <script>
      function neco_dalsiho(nacteno)
      {
      console.log("tady se pokracuje");
      console.log(nacteno);
      }
      
        function loadJson(event,callback) {
          var input = event.target;
          var reader = new FileReader();
    
          reader.onload = function(){ // pozor, FileReader je asynchronni
            var json_txt = reader.result;
            var json_obj = JSON.parse(json_txt);
            console.log(json_obj) // s tim si pracuj
            var nacteno=json_obj;
            callback(nacteno);
          };
          reader.readAsText(input.files[0]);
        };
        
      </script>
      </body>
    </html>
    
    

    joa prej sou teďko v javascriptu in nějaký promise hele :O ;D

    10.3.2020 22:06 debian
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Máš pravdu kočko, jsem přepracovanej a píšu hovna :-D
    Gréta avatar 12.3.2020 09:38 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    11.3.2020 14:50 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Díky moc, jdu to vyzkoušet. Je tam nějaký memory limit? Zkoušel jsem načíst JSON file o velikost 700MB a pohoda, sice se načíta 35 minut ale dal to :-D
    Gréta avatar 12.3.2020 09:31 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: jak načíst pole do JS

    jako v samotným js prej ne ale omezovat zdroje muže třeba prohlížeč

    11.3.2020 20:42 Kolejdoucí
    Rozbalit Rozbalit vše Re: jak načíst pole do JS
    Ještě mě napadlo, nešly by použít ty callbacky dva?
    <input type='file' accept='*' onchange='loadJson(event,callbackSuccess,callbackError)'>
    Gréta avatar 12.3.2020 09:37 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: jak načíst pole do JS

    jako mužeš si jich tam nastrkat kolik chceš ale musíš je tam nějak pohandlovat v tý loadjson funkci ;D

    pokud bys jako chtěl tamtu promisi tak to byse muselo jinak nato. hele a hele třeba ale jako řikám že to sem ještě nezkoušela tak nevim :D

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.