- Samsung Galaxy S26 Ultra - fontossági sorrend
- iPhone topik
- Huawei Watch Fit 5 Pro - jó forma
- Xiaomi 14 - párátlanul jó lehetne
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Milyen okostelefont vegyek?
- Fotók, videók mobillal
- Szaporodik és sokasodik a One UI 8.5
- Robottal a nyomában üldözi a Honor a Huawei-t
- Samsung Galaxy A54 - türelemjáték
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
lanszelot
addikt
Meg lett a probléma:
object.key=value
object[key] =value
A másodikat kell használni változóval.Simán mehet üres objektumba. Csak nem ponttal, hanem szögletes zárójelben kell, ha változót használsz nem szöveget.
-
lanszelot
addikt
testResult.myArrayNodList[yy].innerText = myArrayNodList[yy + 1].innerText;Itt hogyha a
testResultobject-nek még nincsmyArrayNodListkulcsra érték definiálva, akkor így nem fogsz tudni neki értéket adni, mivel atestResult.myArrayNodListundefined-ra fog resolve-olni, és undefined értéket nem tudsz indexelni. Előbb inicializált értéket kell adnod neki a loop-on kívül, utána tudod indexelni:testResult.myArrayNodList = [];vagy amikor inicializálod:
let testResult = {myArrayNodList = []};
btw felteszem hogy ez egy typo és amúgymyArrayNodeListszeretne lenni.Köszönöm szépen a választ.
Ha ez így van, akkor itt miért működik úgy ahogy csináltam?
[link] itt a kód
-
Bici
félisten
Igen, és igazad is van.

Meg is oldódott azzal, hogy rácsekkoltam, hogy az adott tablazat[key] undefined-e, és ha igen, akkor kapott egy kezdeti üres tömb értéket.
if (tablazat[key] == undefined) tablazat[key] = [];Ha netán létezik elegánsabb megoldás, akkor szívesen fogadom.

Köszönöm szépen!

-
lanszelot
addikt
Először is köszönöm szépen a segítséget.
Azt tudom hogyan kell a scrollBy -t használni, azt nem tudom abban a form ában html alól hogy adom meg a kért containert.
Mert a példa azt mutatja, hogy a html-ben abutton tag -hoz onclick -et adok, és ott adom meg a paramétert.
Nem tudom mi értelme,és hogy adom meg egy elem elérését onnan.Ezért kérdeztem.Ahogy írtam rá jöttem:
js-ben létrehozok egy változót, a tag elérési útjával, és a változó nevét írom a html -be paraméternek. -
cigam
titán
Igen, abban a könyvtárban van, és ez van benne:
cat package.json
{
"name": "bmd-hyperdeck-web-time-remaining",
"version": "0.0.0",
"description": "Blackmagic Design Hyperdeck Time Remaining Web",
"main": "index.js",
"scripts": {
"start": "nodemon index.js"
},
"author": "Nic",
"license": "MIT",
"dependencies": {
"express": "4",
"socket.io": "^4.2.0"
},
"devDependencies": {
"nodemon": "^2.0.13"
}
}
Előre is köszönöm a segedelmet! -
Gardaai
senior tag
Ez jónak tűnik.
Mintha próbáltam volna, csak ilyenkor mindig az van bennem, hogy ha egy reláció félremegy akkor mindegy, hogy a logika jó volt-e.
Köszi, jövök vissza!
-
lanszelot
addikt
Nagyon szépen köszönöm a válaszokat

Fentebb írtam, hogy object az objectben megoldást választottam.
Így nem kellett annyira átírni a kikérést.
1 óra alatt átírtam, így már tökéletesen működik.{
1 : {"elso" : "www.elso.hu",
"masodik" : "www.masodik.hu"}
2 : {"elso" : "www. harmadik.hu",
"masodik" : "www.negyedik.hu"}
} -
lanszelot
addikt
Először is köszönöm szépen a válaszokat.
A forEach -el nagyon nem vagyok kibékülve.
Valahogy képtelen vagyok megérteni.
Hibát dob, de nem tudom miért, mert forEach -hez nem értek.
"posts is not iterable at xhr.onreadystatechange"Mivel nem csak 1900 van, hanem egészen 2022 -ig megy, így gondolom 1900 helyére másik for ciklussal dobok évszámot.
-
nevemfel
senior tag
-
martonx
veterán
-
magortaltos
csendes tag
Ó, igen, gyanítottam hogy fetch -el lehet. De nem tudom hogy kell használni.
Ugyan abban az állományban van a JS és a PHP is. A JS nek időnként kezdeményezni kellene, hogy egy PHP függvény lefusson újra meg újra.
Arra gondoltam, hogy a php-b beírom, hogyif (isset($_POST['szoveg']))
{ $_POST['szoveg'] = '';
... // itt meghívom az általam írt függvénytés mindig amikor a JS kitölti a POST['szoveg'] -et, akkor lefut a ... szakasz. De ha van egyszerűbb módja is, hogy a JS kezdeményezzen egy PHP függvény lefutását akkor bármilyen megoldást szívesen megtanulok.
-
lanszelot
addikt
Kicsit gondolkoztam rajta, nekem a következő jutott eszembe: sorbarendezed mindkét tömböt és az elejéről indulsz két indexszel (i indexeli az A tömböt, j meg a B tömböt). Ha A != B[j], akkor mindkét indexet növeled. Ha A(i) == B[j], akkor növeled a számlálót és megnézed A[i + 1]-et és B[j + 1]-et. Ha ezek is egyeznek A(i)-vel vagy B[j]-vel, akkor növeled i-t és j-t is. Ha csak az egyik egyezik (mondjuk A[i + 1] már más, de B[j + 1] még nem), akkor i-t addig növeled, amíg ráfutsz a következő számra, j-t meg csak 1-gyel, és jöhet elölről az egész, amíg i vagy j el nem éri a tömb végét. Nem csináltam rá kódot, szóval lehet valami edge case-t kihagytam, de én így indulnék neki.
nem jó a sorrend, mert lehet hogy mind piros az egyikben
ami a példában van az se jó. Elsőre annak tűnik, de nem az. Betettem a példába ahol nem jó.
Ha több egyforma van az egyikben és csak egy a másikban akkor is többször számolja.Tehát még sincs megoldás.

próbáltam már for -al, azzal nem lehet.
if-el azzal se lehet.
nem tudom hogy lehet megoldani. -
martonx
veterán
Én is pont ezt akartam írni, ha nem is link, de normális router használata kell, a localstorage-os bénázás helyett.
-
inf3rno
nagyúr
-
laracroft
senior tag
1. Amit megadsz callback a duplikálás check esetében, azt a függvényt ugyanúgy meg kell adnod az új sor adott elemének is (enélkül az eseménykezelő csak az első betöltésnél már meglévő HTML elemekre lesz érvényes. Ehhez az kell, hogy nem egy anonim függvényt adsz át, hanem egy már létezőt:
function checkNullAndDuplicates() {
var value = $(this).val();
$('[name="zona_szam[]"]').not(this).each(function(){
if($(this).val() == value || value=="0") {
document.getElementById("error").style.display= '';
}
})
}
}
$('[name="zona_szam[]"]').on('change', checkNullAndDuplicates);Ezt a függvényt kell az új DOM elemnek odaadni. Mivel a mostani módszered egy sima HTML stringet ad hozzá a DOM-hoz, ez elég körülményes, de azt meg tudod egyszerűen csinálni, hogy egy sor hozzáadása után lekéred az összes
[name="zona_szam[]"]elemet, és megadod az onchange eseménykezelőnek a fent definiált függvényt.2. A change eseménykezelőben megnézed, hogy jó-e az érték, és ha igen, akkor átírod az error elemnek a style.display property-jét 'none'-ra.
Köszönöm a gyors választ

Igyekszem felfogni
-
Mr. Y
őstag
És egy JSON fájlok beolvasására használatos FETCH hogyan olvassa be, hogy hány darab és milyen nevű fájlok vannak egy adott mappában?
-
coco2
őstag
-
Mr. Y
őstag
Reprodukálni tudod esetleg egy jsfiddle-ben? A második betöltés alatt azt érted hogy F5-tel frissítesz, vagy hogy anélkül csak újra lefuttatod a JS kódot?
a "Miért nem használsz CSS-t hozzá" és hasonló kérdéseket mellőzzétek.
Pedig valószínűsítem, hogy az általad felvázolt problémát megszüntetné.
Sima F5 frissítés, tehát amikor előről kell kezdenie minden lefuttatását. Továbbá, hogy Shift+F5-el frissítek, akkor is jó lesz. Holott elvileg akkor produkálnia kellene az első betöltés hibát, mert törli a gyorsírótárat.
a "Miért nem használsz CSS-t hozzá" és hasonló kérdéseket mellőzzétek.
Pedig valószínűsítem, hogy az általad felvázolt problémát megszüntetné.
Én nem. Mert mint említettem, minden, külső fájlból behívott adatnak egyedi azonosítója van. Nem írhatok olyat a CSS-be, hogy pl
#picture1,
#picture2,
#picture3,
#picture4,
#picture5, ....... #picture10000 {display: flex;}
mert felesleges.
A külső tár, amiből táplálkozik, folyamatosan bővül, így folyamatosan növekszik az egyedi azonosítók száma is. Éppen ezért a jövőre IS felkészítve csinálom a kódot, hogy csak a felhasználó által betölteni kívánt adatoknak készítse elő a terepet.JSFiddle-ben nem tudom reprodukálni, az sok meló lenne jelenleg, de megmutatom, hogy mi az érintett kódrészlet:
function setpic(p, o) {
p.style.position = "absolute";
p.style.height = o.clientHeight - 40 + "px";
p.style.width = "auto";
p.style.top = "30px";
p.style.left = o.clientWidth / 2 - p.clientWidth / 2 + "px";
}És mindebből a legutolsó pont, a
p.style.left = o.clientWidth / 2 - p.clientWidth / 2 + "px";nem fut le elsőnek. -
laracroft
senior tag
-
t256
őstag
Gondolom minden egy form-on belül van és annak az onsubmit eseményére iratkozol fel (vagy az ok gomb onclick-re?). Ez esetben az eseményt kezelő függvényben paraméterként kapsz egy
eventobjektumot, ennek apreventDefault()függvényét kell meghívnod, valahogy így:const form = document.getElementById('myform');
form.addEventListener('submit', event => {
event.preventDefault();
console.log('asd');
});Szia!
Ez az event egyelőre kínai
A submit gombnál van egy onclick="ellenoriz()", ez hívja meg a függvényt. -
nevemfel
senior tag
-
#20221952
törölt tag
-
lanszelot
addikt
-
martonx
veterán
-
dqdb
nagyúr
Ajánlott előtte a
textToMarktartalmának escape-elése, ha véletlenül regex számára speciális karaktert tartalmazna.var textToMark = "a*b*c";
var textContainer = "xxxx A*B*C yyyy a*b*c zzzz";
var escapeRegex = new RegExp(/[.*+?^${}()|[\]\\]/g, "g");
console.log(textToMark);
var textToMark = "(" + textToMark.replaceAll(escapeRegex, "\\$&") + ")";
console.log(textToMark);
var replaceRegex = new RegExp(textToMark, "gi");
console.log(textContainer);
textContainer = textContainer.replaceAll(replaceRegex, "<mark>$1</mark>")
console.log(textContainer); -
Taci
addikt
Igen, ezzel valóban a jókat jelöli ki, viszont az a gond továbbra is, hogy ha csupa kisbetűvel írom be a keresőbe a szót (pl. "máté"), akkor hiába szerepel az eredeti tartalomban nagy kezdőbetűvel (pl. "Máté"), a keresési találatokban átírja a keresésben megadott formára.
Ha pl. a textContainer az, hogy
"Alszik Máté, mert elfáradt.", a keresési kifejezés pedig az, hogy "mÁtÉ", akkor bár kijelöli a megfelelő sztringet, viszont ez lesz a megjelenített sztring:"Alszik mÁtÉ, mert elfáradt."Így csináltam meg, legalábbis itt járok benne:
https://jsfiddle.net/j7qt4bva/Ha "normál kifejezésre" keresek (pl. "máté" vagy "apple"), tökéletesen működik, de rövidebbekre (pl. "a" vagy "az") végtelen cikulsba kerül valahol.
(Amúgy sanszos, hogy erősen túlbonyolítva csináltam meg...)
Az alapötlet az, hogy a keresett szó pozícióinak megkereséséhez csupa nagybetűssé alakítom a szöveget, amiben keresek, és a keresett szót is. Aztán ha megvan a pozíció (vagy pozíciók, több találatnál), akkor egy tömbbe szétvágom az eredeti sztringet a találat pozíciók végén. Majd ezeken belül megcsinálom az öleted alapján (RegExp "i") a <mark> tag hozzáadását úgy, hogy a már megszerzett pozíciók alapján kiszedem az eredeti karaktereket (így meglesz az a változat, hogy a kis- és nagybetűk az eredetiben vannak).
Aztán ezeket a tömbelemeket összefűzöm újra, és ezt adom vissza.Csak valahol rövid(ebb) karakterszámnál végtelen ciklusba futok.
-
Mr. Y
őstag
-
lanszelot
addikt
Hello,
Ez is node -os, esetleg ha értitek, ezzel meg lehetne csinálni? -
lanszelot
addikt
-
lanszelot
addikt
-
lanszelot
addikt
npm uninstall -g gedcommajd elindítottam a node.msi -t, ott delete.újra indítottam, újra letöltöttem a node.msi-t /lite/
parancssor adminként indítva onnan indítottam a node.msi-t, next next next
node -v kiadta a széria számot
installáltam a npm-t -g vel tuti úgy ahogy ott van
majd beírtam a kódot ahogy a képen is van, és ismét ugyanaz a hiba.Ugyanez a parancs Mac OS X alatt is?
-
lanszelot
addikt
Nem hagytam el a -g -t, pont úgy írtam, ahogy ott volt mivel fogalmam sincs mit csinálok.
Mint a képen is látod a parancssor Adminként fut, tehát minden Adminkent lett futtatva. -
lanszelot
addikt
A telepítés sikerült, valóban elírtam
De most meg ezt a hibát írja -
lanszelot
addikt
Megpróbálom minél érthetőbben / egyszerűbben összefoglalni:
Először is telepítened kell a Node.js-t a gépedre. Ezt innen letöltve tudod megtenni.
Ha ezzel végeztél, nyitnod kell egy terminál / CMD / powershell ablakot. Ezen keresztül tudod telepíteni a fent említett programot az
npm install -g gedcomparancs kiadásával.Ezután még mindig a parancssoros felületen kell majd elnavigálni abba a könyvtárba, ahol a fájlod található. Ennek egy alternatívája, hogy megnyitod a windows intézőt, elnavigálsz ott az adott mappába, majd a címsorba az elérési út helyére beírod hogy cmd, majd nyomsz egy entert. Ekkor meg fog nyílni egy parancssor ablak az adott mappához.
Ezután ki kell adnod a következőhöz hasonló parancsot:
parse-gedcom sajatfile.ged kimenet.json
Itt a sajatfajl-t cseréld le arra ami a fájlod neve (a kiterjesztés ne maradjon le).Amint lefutott, a könyvtárban ott lesz a kapott JSON fájl (a példában kimenet.json néven).
Először is köszönöm szépen,
Minden érthető, csak egy dolgot nem tudok.
Mit csináljak azzal amit letöltöttem a github-ról.
Az egy zp file. Kicsomagoltam, de hova másoljam, vagy azzal mi legyen?
Illetve parancssorban hova navigáljak, vagy mindegy hol írom be a parancsokat?
Mert azt írja ki "nmp" not recognized.
Bementem a kicsomagolt könyvtárba /github/ de ott is ezt írja ki.
Tuti vmi könyvtárba kell bemennem, de ne metudom melyikbe
Adminként indítottam a parancssort, tehát az se lehet gond.
Gép is újra lett indítva telepítés után. -
lanszelot
addikt
Böngészőn keresztül JS-sel lokális fájlt nem fogsz tudni olvasni. Vannak rá workaround-ok, pl. hogy a JSON értékét stringként eltárolod egy JS változóba, és ezt ugyanúgy belinkeled a HTML-be mint az ezt feldolgozó JS-t (ez volt látható az általad linkelt megoldásban), vagy indítasz egy HTTP kérést a fájlod felé. Az már rajtad múlik, hogy melyik a neked megfelelőbb megoldás.
Hello,
Először is köszönöm szépen a választ.
Amit linkeltem az nem működik /nekem úgy is jó lenne/.
JavaScript Object Notation (JSON) - és javascript-el nem tudom kezelni?
Wikipédia: "A JavaScript esetében a futási környezet jellemzően egy web böngésző."
Ugyanarról a Javascript-ről beszélünk?
Ahogy én gondolom: JavaScript oop nyelv. Akármilyen szöveg szerkesztőbe megírható, és szükség van egy futtató környezetre, ami legtöbb esetben egy web böngésző.
Rosszul tudom? -
lanszelot
addikt
Hello,
Véletlenül rosszul írtam, fentebb.Van egy esemény az oldal betöltésekor, erre az eseményre figyel egy esemény figyelő, ami létrehoz egy változó,
Azt a változót szeretném kint /eseményfigyelő függvényén kívül/ használni.Ennyit írnék, mert megint csak össze zavarok mindent.
-
Taci
addikt
Írtam elé egy hosszú szöveget, hogy ezt a változatot használtam még a legelején a sötét témás váltáshoz, viszont csúnya volt, ahogy váltásnál "ugrált". (Csak aztán ezt kitöröltem, mert a kérdéshez és válaszhoz irrelevánsnak tűnt végül.) Így végül én is úgy csináltam meg, hogy egy CSS-ben van a két stílus, és úgy váltogatom.
Csak a Mr. Y által írt kódrészletben két CSS fájl van, ezért írtam válasznak végül ezt. De egyetértek, szebb, gyorsabb, egyszerűbb, ha egy fájlban van a két stílus. -
Taci
addikt
-
Taci
addikt
Az csak a skeleton loader-ben van úgy megcsinálva, viszont azt túl sok idő lett volna a mostani formátumra ráhúzni.
Végül arra jutottam, hogy a template-be beraktam az feed image-khez, hogy ha betöltött, távolítsa el a háttérért felelős osztályokat:
onload="removeLoadingBackground(this);"function removeLoadingBackground(element){if (element.classList.contains("loading-bg")){element.classList.remove("loading-bg");}if (element.classList.contains("loading-logo")){element.classList.remove("loading-logo");}if (element.classList.contains("loading-img")){element.classList.remove("loading-img");}}Csak az a biztos tényleg, ha nem hagyom ott pörögni, ki tudja, melyik böngésző hogyan kezeli (vagy nem kezeli).
Nem a legszebb megoldás, ellenben működik.
Köszönöm a gyors választ amúgy mindenkinek.

-
Keem1
veterán
Ééés valóban ez a megoldás, hálásan köszönöm!

Szerintem jövök még hozzátok, mivel a készülő smart home projectem backend része C#, abban azért otthon vagyok (igaz, nem vagyok ám programozó), de a GUI az HTML5 + javascript, emiatt biztos lesz szükségem segítségre.
-
Keem1
veterán
Hmm... valami ilyesmire gondolsz? (kis guglizás)
$.getJSON(hubaddress+"/smarthomeapi/toggle/"+$(this).data("deviceid"), responsejson => function()
//.....Mert sajnos az eredmény ugyanaz...
-
laracroft
senior tag
Itt arra gondolsz, hogy az egyiket így:
document.getElementById("ceg_fizeto_nev").required = true;
a másikat közben pedig így állítsam:document.getElementById("fizeto_nev").required = false; -
hungromit
csendes tag
ÓRIÁSI HÁLÁM!!!
kellemetlenül sokat szenvedtem ezen, bár valóban kevés közöm van a javascripthez, de azt hittem nem olyan bonyolult, valahonnan csak összeollózom. hát nem. nagyon köszi! (félreértés elkerülése végett: nem a javascriptre hittem, hogy nem olyan bonyolult, hanem ennyi funkcióval kiegészíteni ezt a kis játékot) -
disy68
aktív tag
Érdekes megközelítés ez a functional programming jellegű dolog, nekem kevésbé szimpatikus, mintha az adott class/object-nek lennének a függvényei, mert így nincs convienient kódkiegészítés hozzá és vagy megtanulom mit kell importolgatni vagy a doksit kell gyakrabban forgatni. A modularizáltsága az lehet plusz, de kétlem, hogy egy dátumkezelő lib méretén múlna bármi.
(#8006) togvau
Bármit behúzhatsz jsfiddle-be. Moment.js minta -
togvau
senior tag
nem tudom mit kéne csinálni ezzel a jsfiddle-vel, ha semmilyen libet nem támogat.
Én pedig a JS/TS tűzzel vassal irtását ajánlanám, de sajnos vannak projekt korlátozások
úgyhogy ugyan annyira nem jó mint a date-fns bevezetése. -
Silεncε
őstag
redux általában túl komplex és végtelen boilerplate
+1000
Éppen most kell egy ilyen Reduxos appal dolgoznom, nagyon durván sok fölösleges kódot kell hozzá gyártani, 100+ soros fájlok csak az Action-ök leírására, stb.
-
togvau
senior tag
Azt hogy kell felrakni? Meg mit?
Ezt el tudja magyarázni nekem, hogy a get miért undefineddel tér vissza? AngularsJS 1
function geturl(url, http) { http.get(url).then( function (response) { console.log('megy'); return response.data; }, function (response) { console.error('error van'); return 'someting bad happened'; });}Ezelőtt, nem külön functionban, hanem a controlleren belül, múködött, csak a $http-vel vel
Ha rossz az url, ahogy kell error-t dob, szóval a return az működik. -
togvau
senior tag
ez se nagyon. Valami extension bizonyos angularos dolgokat kiegészít, de mintha az alap javascript kiegészítés nem működe.
Jó, persze tudom, olyan szintű kódkiegészítés mint az eclipse-ben java-val, olyan soha nem lesz, de ennél azért több kéne.
-
togvau
senior tag
-
Rimuru
veterán
Sziasztok!
A következő a helyzet: van nekem egy TypeScript-ben írt full-stack express alkalmazásom pug template-tel + a public mappában kliensoldali JS-sel. Azt szeretném elérni, hogy a kliensoldali JS kódot (+ha lehet akkor a SCSS-t is) webpack-kel vagy hasonlóval bundle-ölni úgy, hogy a pug templating megmaradjon. A szerveroldali kódot nem muszáj, azt jelenleg tsc-vel fordítom és nekem ez elég is.
Főleg azért szeretném, mert jelenleg a kliensoldali függőségeket most CDN-ről húzom be, ezeket szeretném NPM-ről kezelni, mint a többit + az ESNext feature-ök is jól jönnének.
Ok.

-
togvau
senior tag
Egyszer azt írod, hogy mindig jön userId a backendről, máskor meg azt, hogy akkor is ott van a frontenden, ha amúgy a backend el se küldi?
Ellenőrizted a kis-nagybetűket, hogy ugyanaz a JSON-ben, mint az interface-ben? a JS/TS érzékeny ezekre.
Az adatnak akkor is ott kell lennie, ha a TS interface nem egyezik meg vele pontosan. Szóval vagy nem küldi el az adatot a backend, vagy valami más turpisság történik.chrome-os konzolra kiíratásnál ilyenek vannak:
{userId: 2, interactionId: 130, userProps: {…}, time: "2020-06-30T10:48:42.403+0000"}interactionId: 130userId: undefinedtime: "2020-06-30T10:48:42.403+0000"userProps: {id: 1, name: "C`...Igen, tutira megegyeznek, mint írtam copy paste volt a java class-ból a ts interface-re. Ha nem egyezik meg az interface ben, akkor jó. Ha megegyezik akkor undefined... ilyet még életembe nem láttam, semmilyen nyelvnél, pedig próbáltam párat

Azért írtam az, hogy más néven küldi, a backend, mert megpróbáltam azt is, hogy más néven küldje.
De a lényeg: ha az interface-ben van az a property deklarálva, ami a beérkező jsonban az első elem, akkor undefined lesz, lásd a fenti konzol üzenetet amiben kiiratom az összes példányt. Viszont hozzá lehet férni, pl egy map()-el. Ha nincs, akkor lesz értéke a konzolüzenetben, viszont a map() undefined-et hoz.
-
alratar
addikt
-
btz
addikt
Teljesen még nem tiszta, hogyan is képes látni ez a content.html-ben lévő button ID-t
Két dolog miatt. Egyrészt, mert az egész
document-re raktad rá az event listener-t, tehát az minden egyes, az oldalon történtclickeseményre (attől függetlenül, hogy mire kattintottál) le fog futni. (Ezt alapvetően én nem nagyon ajánlanám, jobb az, ha az egyes event listener-eknek csak akkor futnak le, ha szükséges)
A másik dolog pedig a JavaScript event capure mechanizmusa, amivel aclickesemény végigfolyik a DOM elemein."Ezt alapvetően én nem nagyon ajánlanám, jobb az, ha az egyes event listener-eknek csak akkor futnak le, ha szükséges"
Értem, és milyen módosításokat tudnék elvégezni ebben a helyzetben, tehát csak akkor fusson amikor szükséges, ne minden esetben? Talán szűkítsem le egy adott ID-vel rendelkező divre? Viszont akkor működni fog?
''a JavaScript event capure mechanizmusa"
Köszi. Megpróbálom elolvasni és értelmezni

-
alratar
addikt
-
btz
addikt
-
btz
addikt
Igen, ugye az a probléma, hogy az event handler-ben a bubble-capture miatt a target az az ikon lesz. Egy potenciális fix, ha kicseréled a
const editbutton = e.target;sort erre:const editbutton = e.currentTarget;Hát ez tényleg "easy" megoldás volt.

Még annyit változtattam rajta, hogy ezt
const editbuttons = document.querySelectorAll('.x > button');
kicseréltem erre:const editbuttons = document.querySelectorAll('.editbuttons');
így az egész az class x div-től is független lesz, akár el is hagyható lenne.Köszönöm a gyors bugfixet

-
btz
addikt
Igen ezzel csökken az a terület, ami undefinedet ad, de magára az ikonos részre kattintva továbbra is undefined. De ha például nem is kell majd valahol szöveg, csak az ikon a gombon?
De úgy néz ki, hogy a régi tradicionális módszer esetén nem lenne gond.
-
btz
addikt
Engedelmeddel írnék néhány feedbacket a kódhoz:
HTML:
A `big` HTML tag obsolete, nem javasolt a használata
<input type="button" /> helyett inkább használjunk <button>-t.
Nem szerencsés, ha a `name` attribútom ugyanaz több input elemnél is, mivel esetleges szerveroldali feldolgozásnál ez azonosítja az egyes elemeket.JS:
var helyett ajánlott let vagy const használata
Személyes preferencia, de szerintem nem mindegy, hogy JS-ből milyen módon kérdezed le a DOM elemeket. Pl. te class alapján teszed, én ezt akkor tenném, ha pl. a class-t akarom módosítani. Ebben az esetben inkábbdocument.querySelectorAll('input[type="checkbox"]')-ot használnék (így pl. már eleve ki van szűrve minden input, ami nem checkbox).A for ciklus helyett megcsináltam array műveletekkel: fiddle
+1: érdemes jól formázottan tartani a kódot, sokat segít az olvashatóságon (a JSFiddle tudja automatikusan a jobb felül lévő Tidy gombbal).
Természetesen épp ezért raktam fel, hogy lássak egy jobb megvalósítást, mert az előző példákból már látszott, hogy ez is sokkal rövidebben, szebben, modernebben megoldható. És jól sejtettem...
Köszönöm a kódot. Ha másnak is van alternatívája, azt szívesen fogadom 🙂
-
btz
addikt
Ezt próbálgattam már. Nálam nem működik (szokás szerint)
Először így próbáltam:
<script type="text/javascript" >
// Create a fake textarea
const textAreaEle = document.createElement('textarea');
// Reset styles
textAreaEle.style.border = '0';
textAreaEle.style.padding = '0';
textAreaEle.style.margin = '0';
// Set the absolute position
// User won't see the element
textAreaEle.style.position = 'absolute';
textAreaEle.style.left = '-9999px';
textAreaEle.style.top = `0px`;
// Set the value
textAreaEle.value = text;
// Append the textarea to body
document.body.appendChild(textAreaEle);
// Focus and select the text
textAreaEle.focus();
textAreaEle.select();
// Execute the "copy" command
try {
document.execCommand('copy');
} catch (err) {
// Unable to copy
} finally {
// Remove the textarea
document.body.removeChild(textAreaEle);
}
</script>Ekkor a textAreaEle.value = text; érték nem volt definiálva így készítettem neki egy változót. var text = "tesztszöveg";
<script type="text/javascript" >
// Create a fake textarea
const textAreaEle = document.createElement('textarea');
// Reset styles
textAreaEle.style.border = '0';
textAreaEle.style.padding = '0';
textAreaEle.style.margin = '0';
// Set the absolute position
// User won't see the element
textAreaEle.style.position = 'absolute';
textAreaEle.style.left = '-9999px';
textAreaEle.style.top = `0px`;
var text = "tesztszöveg";
// Set the value
textAreaEle.value = text;
// Append the textarea to body
document.body.appendChild(textAreaEle);
// Focus and select the text
textAreaEle.focus();
textAreaEle.select();
// Execute the "copy" command
try {
document.execCommand('copy');
} catch (err) {
// Unable to copy
} finally {
// Remove the textarea
document.body.removeChild(textAreaEle);
}
</script>Hiba: Uncaught TypeError: Cannot read property 'appendChild' of null.
Beraktam bodyba a scriptet, utána semmit nem csinált, viszont a hiba megszűnt.
Aztán a document.body részt cseréltem document.getElementById("mainContent").appendChild(textAreaEle);-re. Így már megjelenik a textarea, benne a tesztszöveg felirattal. (A kódból kitöröltem azt a részt ami elrejti a textarea-t).<html>
<body>
<div id="mainContent">
MAIN CONTENT<br />
</div>
<script type="text/javascript" >
// Create a fake textarea
const textAreaEle = document.createElement('textarea');
var text = "tesztszöveg";
// Set the value
textAreaEle.value = text;
// Append the textarea to body
document.getElementById("mainContent").appendChild(textAreaEle);
// Focus and select the text
textAreaEle.focus();
textAreaEle.select();
// Execute the "copy" command
try {
document.execCommand('copy');
} catch (err) {
// Unable to copy
} finally {
// Remove the textarea
//document.body.removeChild(textAreaEle);
}
</script>
</body>
<html>Viszont nem másol semmit a vágólapra.
-
gzbotii
nagyúr
-
bandi0000
nagyúr
-
Rimuru
veterán
Rustban ha let-tel hozol letre valtozot az is immutable... milyen szornyu nyelv, nem ugy mukodik mint javascriptben..
oh wait...
-
bandi0000
nagyúr
Köszönöm, ez lett a megoldás
-
instantwater
addikt
Használtam én is Nest.js-t, tényleg szépen össze van rakva, kár, hogy nem használja több cég, így Nest.js gurunak lenni nem annyira kifizetődő.
Érdemes inkább ismerni az Express.jst, és alternatíváit, fastify, hapi, satöbbi. -
hiperFizikus
senior tag
-
Rickeffe
aktív tag
Ez így ebben a formában szerintem félrevezető. Már miért ne működne a js+php? Más kérdés, hogy mi a a cél; a felhasználónál vagy a szerveren tárolni az adatot?
-
instantwater
addikt
Fog működni, lehet mixelni.
A PHP parser csak a php tagok közti részt futtatja, a többit plain textként kezeli.Vannak esetek amikor szerver oldalról kell értékeket átadnod a kliensnek még mielőtt a JS elkezdene futni, hogy ezzel inicializálj bizonyos állapotokat.
Tehát ha ő alertelni akarja a szerveroldali számlálóját akkor ez a megoldás.
Persze szebb lenne egy APIt hívni vagy legalább templating enginet használni a HTML generáláshoz.
Viszont, ha csak egy globális számláló kiiratása a cél, akkor elég lenne kiechozni a bodyba, vagy templatevel kiírni a megfelelő helyre, nem kell API hívás, mert az csak lassítja a betöltődést.
-
K1nG HuNp
őstag
300 euro korul voltak a jegyek asszem. En jelentkeztem scholarshipre ahol sajnos nem nyertem meg a palyazatot de ra ket hettel kaptam egy tok szemelyes mailt, hogy amugy tokre mehetek onkenteskent

-
martonx
veterán
-
hiperFizikus
senior tag
-
hiperFizikus
senior tag
A megadott kódod megy nekem, de változóval kellene . Próbáltam mindenféleképen változót belecsempészni, még eval()-lal is, da ha megy akkor 2 - 5 db vonást ad vissza .
var a1 = '||'; a2 = '\|\|'; a3 = '|';
isvar a1 = '\|\|'; a2 = '\|\|'; a3 = '\|';alert(a1.replace(/a2/g,a3)) ;
Hogyan kell változót csempészni oda ? -
sztanozs
veterán
De a kérdés - az én értelmezésemben - az volt, hogy paraméterként átadva hogy tudja megváltoztatni (a funkció ugyanis nem tudja, hogy paraméterként milyen változót adtál át neki).
-
hiperFizikus
senior tag
-
hiperFizikus
senior tag
-
hiperFizikus
senior tag
Én már belenyugodtam az első megoldásba. És lasacskán haladni kezdtem a 140 oldal átírásával . Kb. 1 oldal már megvan belőle, futási próba nélkül, csak nyers szintaxis helyesre véve. Már "csak" 139 oldalt kell megcsinálni. Nem tetszik a JS logikai operátorai, no de ez van.
-
rikxjeee
tag
-
hiperFizikus
senior tag
-
btz
addikt
IV. Verzió
Sajnos még mindig bugos. Nem adja vissza a cookie-t (már eleve azt írja, hogy van, pedig frissen megnyitott böngészőben alapból nem létezhetne) és nem is akar frisssülni a div. -
btz
addikt
Az első hibát ott véted, hogy a givebackCookie függvényben nem nullázod a cookie értékét, így az if-ednek mindig ugyanaz az ága fog lefutni.
A div újratöltését kezelő kódot meg inkább nem kísérlem meg megérteni és debugolni, meg amúgy is jQuery-t már nem illik 2019-ben használni.

Működő kód:
function wantCookie() {
document.cookie = "tesztkuki=Létezik";
loadDiv();
}
function givebackCookie() {
document.cookie = "tesztkuki=; expires=Thu, 18 Dec 2013 12:00:00 UTC";
loadDiv();
}
window.addEventListener("load", loadDiv);
function loadDiv() {
if (document.cookie.includes('tesztkuki')) {
document.getElementById('cookie-check').innerHTML = "<div id='cookie-want'>Press the button, if you want a cookie<br /><button id='cookiebutton' onclick='wantCookie()'>I want a cookie</button><br /></div> <br />The cookie now DOES NOT exist !";
} else {
document.getElementById('cookie-check').innerHTML = "<div id='cookie-give-back'>Press the button, if you want give back the cookie<br /><button id='cookiebutton' onclick='givebackCookie()'>I give back the cookie</button><br /></div> <br /><br />The cookie now exist !<hr />";
}
}Itt minden cookie változtatás után újratölti a div tartalmát. A
window.addEventListener("load", loadDiv);pedig azért felel, hogy az oldal betöltésekor is fel legyen töltve a div.indexOf helyett használj includes-ot, ha csak annyit akarsz megtudni, hogy tartalmazza-e az adott dolgot.
Továbbá ahogy most a div tartalmát kitöltöd, az nem túl elegáns / karbantartható / error-safe. Használj createElement-et és appendChild-ot.
A fenti kódodat megfixáltam, de erősen ajánlom a fentiek figyelembevételét. Sok későbbi szenvedést tudsz megspórolni.
+1: Ha nem kötelező cookie-t használni, akkor ajánlom inkább a localStore-et.
Szia!
Megpróbáltam a kódot, nem tudom mit rontottam el, de nem működik a codepenben.
Utána nézek az általad írt javaslatoknak, még kezdő vagyok a javascriptben, ezért sokmindennek kell még utánajárnom.

-
I02S3F
addikt
-
btz
addikt
Annyit azért hozzáfűznék ehhez a kódódhoz, hogy bár működik, de még bőven van benne hibás működés. Pl. az alábbi sor:
var content = this.parentNode.style.display = 'none';Itt bár a div-et eltűnteni, de a content értéke
true(ami athis.parentNode.style.display = 'none';kifejezés eredménye) lesz, nem pedig maga a tartalom. Ezért az utána lévő display állítás sem fog lefutni. Ha megnézed a console-t látod, hogy hibát dob. Javaslom nézz utána, hogy hogy működnek ezek az alap dolgok (értékadás, visszatérési értékek, callback és hasolnók.Plusz a w3schools-os editor helyett szerintem inkább használj jsfiddle-t az ilyen kis kódokhoz, itt van külön HTML, CSS és JS rész, jóval átláthatóbb az egész, plusz van benne automatikus kódformázás is.
Dehát azt a részt pont te javasoltad, hogy tegyem bele vagy én értettem félre valamit és beletettem, utána elkezdett úgy működni ahogy nekem kell.

Közben találtam a dologra egy végtelenül egyszerű és purritán megoldást. Szóval feleslegesen bonyolítottam az egészet 😃
Remélem ez széles körben standard dolog és a legtöbb böngésző támogatja.Ismerem a jsfidle-t és néha használom is, de ilyen purritán kódnál, az ágyúval verébre kategóriának érzem a használatát, főleg a külön szekcióba szedést (HTML, CSS, JS).
-
btz
addikt
Persze, hogy nem tünteti el a gombot, ugyanis nem nyúlsz hozzá a kódodban. A második esetben azért nem történik semmi, mert a
var content = this.nextElementSibling;a gomb utáni, vele egy szinten lévő elemeket választja ki, és ha a gombot a paragrafus után rakod, akkor nem lesz ennek megfelelő DOM elemed. Szerintem itt a jó megoldás az lenne, ha a gombot és a szöveget összefoglaló elemet rejtenéd el. Erre egyszerű megoldás, ha az eventlistener callback-jébe ezt írod:this.parentNode.style.display = 'none';Őöö..... hova is kell beilleszteni pontosan?
A content = this.nextElementSibling helyére?Updata:
Ah megvan.
Így már működik.
Köszi. 🙂 -
RedHarlow
aktív tag
-
Lokids
addikt
Lehet, hogy a környezetet is le kellett volna írnom.
Szóval máig én még nem foglalkoztam JS-el. A feladat amihez kell, az Sharepointon egy lista színezése a határidő alapján. 2010-es verzióban még elég volt a feltételes formázás, de 2013-16-os verzióban ilyen már nincs. Scriptel kell megoldani.
Böngészőben gondolom az f12-vel elővarázsolt menüben kell valahol ezt megtalálnom. -
K1nG HuNp
őstag
Biztos? Mindig is óckodtam a netes tanulástól mert valahogy amiket eddig láttam mind ilyen random felszínes fisfos volt, ez a codecool szint. De lehet csak az eddigi példák voltak gagyik.. Ránézek, köszi az inputot

-
Aureal
őstag
Akit esetleg érdekel, megcsináltam async-await használatával, ezzel kicsit tisztább a szintaxis.
(#7124) Aureal:
Az a helyzet, hogy amit szeretnél (frissíteni a UI-t, miközben a háttérben dolgozol), kb. minden nyelvben hasonlóval lehet megoldani (vagy használsz valamilyen framework-öt, de az ebben az esetben atomrakétával a verébre esete). Ha a tömbök kezelése se teljesen tiszta számodra, akkor azt ajánlanám, hogy első körben az alapoknak nézz utána.A fentebb linkelt indiai YT videó helyett inkább ajánlom a Lynda és Pluralsight viedósorozatait, én sok dolgot onnan tanultam meg.
Jók a tutorial videók persze, csak ahhoz beszéd szinten is kéne érteni angolul. Lefordítgatok én írott anyagot, de annak idején nekem még orosz volt kötelező.

-
cattus
addikt
Megoldottam Promise-t használva (sejtésemre máshogy nagyon nem is lehet), itt a kód. Raktam bele egy kis késleltetést (setTimeout), hogy látszódjon a folyamat, mert anélkül instant lefut az egész.
Visszatérve az eredeti problémára és kódra: azért nem írta ki, hogy "dolgozom az eredményen...", mert a UI mindaddig nem frissül, amíg mindkét függvény futása nem ért véget teljesen.
Akit esetleg érdekel, megcsináltam async-await használatával, ezzel kicsit tisztább a szintaxis.
(#7124) Aureal:
Az a helyzet, hogy amit szeretnél (frissíteni a UI-t, miközben a háttérben dolgozol), kb. minden nyelvben hasonlóval lehet megoldani (vagy használsz valamilyen framework-öt, de az ebben az esetben atomrakétával a verébre esete). Ha a tömbök kezelése se teljesen tiszta számodra, akkor azt ajánlanám, hogy első körben az alapoknak nézz utána.A fentebb linkelt indiai YT videó helyett inkább ajánlom a Lynda és Pluralsight viedósorozatait, én sok dolgot onnan tanultam meg.
-
Aureal
őstag
Megoldottam Promise-t használva (sejtésemre máshogy nagyon nem is lehet), itt a kód. Raktam bele egy kis késleltetést (setTimeout), hogy látszódjon a folyamat, mert anélkül instant lefut az egész.
Visszatérve az eredeti problémára és kódra: azért nem írta ki, hogy "dolgozom az eredményen...", mert a UI mindaddig nem frissül, amíg mindkét függvény futása nem ért véget teljesen.
Ok, csak ezzel bejön nekem egy rakat ismeretlen fogalom meg tömb kezelés amellé, amin a saját kódomban is alig tudok még úrrá lenni, tehát szép meg jó hogy te ezt tudod, én meg lesek rá mint hal a szatyorra...

-
Aureal
őstag
-
joysefke
veterán
Nem kell semmit szerializálni, nem is tudom ezt honnan vetted.
A HTML-be alapból letiltod a gombot egy disabled attribútummal.
<button id="rsvpSubmit" class="btn btn-primary btn-submit" disabled type="submit">Send</button>A JS:
$(document).ready(function() {
$('#rsvpForm :input').change(function() {
$("#rsvpSubmit").removeAttr('disabled');
});
});Ja és a pastebin-es kódban a jquery-t meg hasonlókat korábban húzd be, mint a saját kódod.
Köszi a választ!
Ja és a pastebin-es kódban a jquery-t meg hasonlókat korábban húzd be, mint a saját kódod.
Persze, próbáltam úgyis (sőt most már úgy van), de úgy sem ment.
Nem kell semmit szerializálni, nem is tudom ezt honnan vetted.
A te megoldásodban -amennyire ezt olvasni tudom- ha a user megváltoztja a form-ot, majd visszaváltoztja az eredeti állapotára, a disabled attribútum már nem fog visszakerülni ugye?
Pont erre lenne a szerializálás, hogy elments a form eredeti, oldalbetöltés utáni állapotát és azzal tudd összehasonlítani az aktuális állapotot.
Ma este még kipróbálom amit küldtél...
-
Jim-Y
veterán
Mar hogy ne menne sokra, Angular 7-ben is vannak komponensek es controllerek max a szintaxis mas. Most megnezve az angular-material oldalat, szinte 1-az-1-ben ugyanigy kell irni: https://material.angular.io/components/list/examples
-
bandi0000
nagyúr
-
bandi0000
nagyúr
Köszi , lehet ezt még átgondolom, mert szerintem felesleges, igazából csak az lett volna a cél, hogy jelezzem a felhasználónak hogy ha van olvasatlan üzenete pl, de erre igazáéból elég lenne az ngIf is, ami minden oldal frissítésnél megnézi, hogy van e olvasatlan üzenete, és ha van, akkor oda hegeszt 1 számot az üzenetek mellé pl
-
bandi0000
nagyúr
nem néztem bele igazán mélyen, hogy mit lehet kihozni belőle, igazából én odáig meg vissza vagyok a material kinézetért, szal tetszik, csak nem akarom, hogy túlságosan hasonlítson más weboldalakhoz
-
bandi0000
nagyúr
fél dél előtöm rá ment, míg rájöttem, hogy miért nem működik, mert fele cuccot bele se raktam

De most ezzel akkor fel lehetne építeni CSS nélkül egy konkrét weboldalat?
Gondolom ha beépítem, akkor tudok szelektálni, hogy melyik stílusokat akarom használni, és melyiket nem, ha egyedi weboldalat akarok -
bandi0000
nagyúr
-
bandi0000
nagyúr
Amíg az alkalmazáson belül marad az adat, addig persze, átadhatod az adott objektumként (kérdés, hogy a Form kezelésén kívül szükség van-e máshol a teljes wrappelt objektumra az adaton kívül - általában nem), a lényeg, hogy amikor a HTTP hívás megtörténik, ott már a "csupasz" JSON objektumot küldd el a szerver felé.
rendben, köszönöm mindkettőtöknek

-
martonx
veterán
Tény, hogy a React népszerűbb, de az Angular 2+ bőven nem halott platform. Mind támogatásban, mind feature set-ben szerintem előrébb van, mint a Vue. Tény, hogy komplikáltabb a default felépítése, mint a másik két "nagy" frameworknek, de ha megnő az alkalmazásod, akkor mindegyikben sok kód lesz előbb-utóbb.
Hol írtam, hogy halott? Csak azt írtam, hogy már nem menő, és nem véletlenül, mert szvsz sose volt jó, csak hát a hype…
Angulart per feature semmi értelme összehasonlítani a react-tal, vue-val, mert az angular egy full framework, a react csak egy faék rendering engine (hehe, nevével ellentétben még csak nem is reagál a modell változásokara
) a vuejs meg egy rendering engine, ami legalább reagál a modellek változására.
Ezért is írtam, hogy az Angulart jóval nehezebb megtanulni, megérteni, mert van (és kötelező is benne használni) a DI-t, controllereket, service-eket, ahogy az egy böszme nagy rendszerhez illik.
És pont ezért ajánlom egy szakdolgozat erejéig sokkal inkább a Vue / React-ot, mert Angularhoz képest röhej laza a betanulásuk (hacsak nem szopatjuk meg magunkat rögtön Redux-al a React mellé, vagy VueX-el a Vue mellé), miközben egyébként ezekkel is pont ugyanúgy össze lehet nagy és komoly összetett frontendeket tenni, mint Angularral. -
DNReNTi
őstag
Tény, hogy a React népszerűbb, de az Angular 2+ bőven nem halott platform. Mind támogatásban, mind feature set-ben szerintem előrébb van, mint a Vue. Tény, hogy komplikáltabb a default felépítése, mint a másik két "nagy" frameworknek, de ha megnő az alkalmazásod, akkor mindegyikben sok kód lesz előbb-utóbb.
Angular 2+ <3
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- GARANCIÁLIS LEMEZES PLAYSTATION 5 SLIM CFI-2116
- NAGYKER ÁR!Sosemhasznált! HP OmniBook 5 Flip i5-1334U 8GB 512GB 14" FHD+ áthajtós-érintős Gar.: 1 év
- Macbook Pro 14" A2442 2021 M1 Pro 32/1TB Silver
- Dell Latitude 9420 i5-1145G7 14" FHD+ 16GB 512GB 1 év garancia
- Macbook Pro 14" A2442 2021 M1 MAX 32/512 Astro
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest









) már voltak gondjaim vele, nem mindig működött (megfelelően), így próbálom kerülni a használatát.



