abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 13
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    10.7. 21:00 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 4
    10.7. 15:22 | Nová verze

    Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.

    Ladislav Hagara | Komentářů: 12
    10.7. 12:55 | Bezpečnostní upozornění

    Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].

    Ladislav Hagara | Komentářů: 16
    10.7. 11:55 | Humor

    Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂

    Ladislav Hagara | Komentářů: 15
    10.7. 02:11 | Nová verze

    Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    10.7. 01:11 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.

    Ladislav Hagara | Komentářů: 1
    10.7. 00:11 | IT novinky

    Instituce státní správy nebudou smět využívat produkty, aplikace, řešení, webové stránky a webové služby poskytované čínskou společností DeepSeek. Na doporučení Národního úřadu pro kybernetickou a informační bezpečnost rozhodla o jejich zákazu vláda Petra Fialy na jednání ve středu 9. července 2025.

    Ladislav Hagara | Komentářů: 8
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (27%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 389 hlasů
     Komentářů: 16, poslední 8.6. 21: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: 1318×
    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: 37 | 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: 37 | 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: 37 | 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: 37 | 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: 37 | 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: 37 | 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: 37 | 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: 37 | 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.