-
GAMEPOD.hu
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
-
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...
[ Szerkesztve ]
-
megvan!!!!
<script>
var $origForm;
var $newForm;
$(document).ready(function () {
$origForm = $("#rsvpForm").serialize();
});
$(document).ready(function () {
$('#rsvpForm :input').on("change input", function () {
$newForm = $("#rsvpForm").serialize();
if ($newForm === $origForm) {
$("#rsvpSubmit").prop('disabled', true);
}
else {
$("#rsvpSubmit").prop('disabled', false);
}
});
});
</script>Na még nem teszteltem rendesen ki, de úgy tűnik azt csinálja ami nekem kell:
betöltés után eltárolja a form állapotát szerializálva, ezután minden változás után automatikusan újraszerializála és ellenőrzi hogy megegyezik-e az új állapot a kezdőállapottal. Ha igen akkor a gombot letíltja, ha nem, akkor a gombot engedélyezi...[ Szerkesztve ]
-
DopeBob
addikt
Sziasztok,
ismerkedünk csak egy JS-el, egy udemy-s oktatáson vagyok túl. Most gyártom az első saját projektet, a logikai rész az ok, de az UI-val most elakadtam.
Röviden: egy szótanuló program, szépen szétszedve 3 kontrollerre (adatok, ui, logika). Eddig js alert-al írta ki, hogy jó e a szó vagy nem. Ezt most lecseréltem egy html kódra (Bootsrap alert). Megjelenik a szöveggel, egy ok gomb van rajta, amit megnyomva eltűnik.
a controller osztályban van egy checkWord metódus, és az meghívja ezt jó vagy rossz válasz esetén is. Amíg egy
alert
írta ki ezt, nem volt gond, mert megakadt a végrehajtás, ok gomb megnyomásáig, itt viszont kéri a következő szót.Valami olyasmi kéne, hogy amikor ez info sáv "Ok" gombját megnyomom, akkor eltűnik + plusz ilyenkor ad vissza valami értéket, és a controller osztály addig itt várakozik.
Milyen résznek nézzek utána?
MZ/X
-
Con Troll
senior tag
Sziasztok,
kellett írnom egy parancssorból futtatható JS programot, amit majd Linuxon használnak. A programnak van néhány függősége, pl. puppeteer. Ha én windowson írtam a programot, és a node_modules mappával együtt küldöm el az illetőnek, akkor ő azt tudja majd használni egyből, vagy Linuxon is kellene telepítgetnie?
Lehet, hogy banális a kérdés, de még sosem fejlesztettem linuxon és nincs linuxos gépem sem, így nem tudom kipróbálni, hogy működik-e.
Köszönöm!
-
martonx
veterán
válasz Con Troll #7108 üzenetére
node_modules-al ne küldd szvsz nodejs (npm) így is úgy is kelleni fog Linuxra is, de ezeket bagatell telepíteni, utána már mehet egy npm install és voilá.
Win - Linux között ami inkább gondot szokott okozni, az az útvonalak eltérősége, case insensitive vs sensitive és ilyesmi eltérések.Én kérek elnézést!
-
Aureal
senior tag
Üdv!
Van egy ciklusos scriptem, aminek a lefutása alatt szeretném kiíratni, hogy "dolgozom az eredményen...", ami a végén felülíródna az eredményekkel.
A ciklust egy gomb lenyomása indítja, ahogyan a fenti üzenet kiíratását is (2 függvény indítás onclick eseményre), de nem jelenik meg csak mikot lefut a ciklusos függvény is és nem értem miért, hisz az infót kiíratót teszem előre? Hogyan lehetne ezt megoldani?<button onclick="work(), gen()">ok</button>
<p id="res"></p>
<script>
function work() {
document.getElementById("res").innerHTML = 'dolgozok az eredményeken...';
}[ Szerkesztve ]
-
Doink
aktív tag
Példa, ez mind blokkoló másold be az F12 console-ba és nyomj entert:
document.body.innerHTML = "Ezt se látod";
alert("ugye?");
document.body.innerHTML = "Meg ezt se látod";
alert("ugyehogyugye?");
document.body.innerHTML = "Na ezt látod";
alert("Na majd most fogja újrarajzolni az oldalt a böngésző mert előtte minden blokkoló"); -
Aureal
senior tag
-
Doink
aktív tag
Az összefüggés ott van hogy a 2 függvényed blokkoló az onclickben, vagyis a böngésző addig nem rajzolja újra az oldalt amíg nem végzett mind2vel. (addig befagy a böngésző mivel 1 szál van)
Az én példámban is csak az utolsó alert() OK után fogja újrarajzolni neked.Ennek az oka az event-loop modell, ami akkor kurva jó ha sok apró dolgot csinálsz async (jellemzően webes felületeken ez történik).
Operaban ctrl+shift+I
[ Szerkesztve ]
-
cattus
ő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.
Do the thing!
-
cattus
ő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.
Do the thing!
-
Aureal
senior tag
Igen, ebben a fázisban vagyok, csak nagyon az elején, viszont anno a google hozta ezt a topikot is.
De amúgy ez amolyan ½hobbi csak nekem. Rég rájöttem hogy nem leszek én programozó, de a szükség meg néha hoz megoldandó dolgokat, amihez némi alap scriptelés nem árt...Amúgy az önképzési szisztematika szintjén nagyon érdekelne, hogy milyen lépcsőfokokon, napi mennyi gyakorlással és mennyi összidő alatt lehet egy átlagos amatőr szintig legalább eljutni?
Vettem én anno C, meg C++ könyveket is régen, mikor még azt sem tudtam milyen nyelvvel kéne kezdeni, de valahogy az eleje a legrázósabb ennek úgy érzem, még az ember nem látja a fától az erdőt.[ Szerkesztve ]
-
RedHarlow
aktív tag
Sziasztok, hogy tudnék beazonosítani egy iframe-et javascriptben úgy hogy csak a title értékét tudom és annak is csak az első felét? A lényeg az, hogy az oldalon 3 iframe dolgozik, minden betöltésnél egyedi ID-t kapnak, nekem az egyik iframe-ben kellene megkeresnem egy táblát de ahoz hogy ki tudjam nyerni a tábla adatait be kell ugye azonosítanom előtte az iframe-et ami pedig csak a title alapján sikerülhet.
Az alábbi kódot szeretném kiegészíteni hogy működjön.
var iframe_random_number = document.querySelector('[title="change"]');
var elmnt = document.getElementById('iframe_random_number').contentWindow.document.getElementById('table').value;
alert (elmnt);[ Szerkesztve ]
-
K1nG HuNp
őstag
Hali, van valami tippetek vanilla JS projekthez? Egyetem mellett, hobbiként tolom egyelőre és kellene egy nagyobb lélegzetvételű alkalmazást csinálnom amihez használnom kellene a mélyebb dolgait a nyelvnek. Az a baj hogy mindig ott kötök ki, hogy html-t és css-t b*szogatok órákig a JS meg 250 sor az egész projektben Nem akarok keretrendszerekbe se bújni, szívesebben jutnék el a nehezebb úton azokhoz a problémáhkoz amelyekért létrejöttek az adott frameworkok.
[ Szerkesztve ]
(raw_item.get("pk").unwrap().as_s().unwrap().to_string()).split("#").collect::<Vec<&str>>()[1].to_string()
-
K1nG HuNp
őstag
Beszéltem felsőbbéves szobatársammal és azt ajánlotta, hogy feleslegesen ne vessem bele magam még a neurális hálókba, ugyis majd kesobb lesz egyetemen, de egy statikus, gyurcsányferis facebookos chatbotot lehet összedobok Talán valami olyasmit amitől megkérdezheted hogy mikor lesz a kövi zh, belinkel neked targyhonlapokat stb.
Könyvek terén Eloquent JavaScript vagy Secrets of The JavaScript jobb? Vagy barmi mas 3. opcio is johet. Valami olyasmi kellene ami a nyelvet mutatja be, nem feltetlen a programozast meg azt hogy mi egy valtozo.
(raw_item.get("pk").unwrap().as_s().unwrap().to_string()).split("#").collect::<Vec<&str>>()[1].to_string()
-
Zedz
addikt
-
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
(raw_item.get("pk").unwrap().as_s().unwrap().to_string()).split("#").collect::<Vec<&str>>()[1].to_string()
-
K1nG HuNp
őstag
Még kicsit a DOM-nál maradva: egész sokat foglalkozok animációkkal és kellene egy sajat framework, mert hogy netem nem talaltam ami megkönnyíti a dolgom.
Az animacioim amiket hasznalok mindig a CSS-ben vannak, megirom a @keyframest aztan egy classt ami tartalmazza az adott animaciot idovel stb.
Pelda:.enter {
animation: enter 10s ease;
}
@keyframes enter {
0% {
transform: scale(.1);
}
100% {
transform: scale(1);
}
}Ezt a classt csak hozzacsapom ahhoz a dom elementhez amit animalni szeretnek es kesz.
Erre irtam egy nagyon egyszeru fuggvenyt:function classAnimator(dom,className) {
dom.classList.add(className);
dom.addEventListener("animationend", clearIt);
function clearIt(){
dom.classList.remove(className);
dom.removeEventListener("animationend", clearIt);
}
}Amit igy hivok meg:
const button = document.getElementById("testButton");
const box = document.getElementById("box");
button.addEventListener("click", ()=>{classAnimator(box, "enter")})Köv lépésben azt szeretném megcsinálni, hogy a
button
-ról leveszem aclick
event listenert, tehat amig tart az animacio ne erdekelje, hogy nyomkodjak.
De elakadtam.Van egy csunya megoldas amiben egy glob valtozoban kellene tarlonom, hogy "clicked"-e a
button
es ha igen akkor instant returnol aclassAnimator
. De ja ez csúnya.Próbáltam még klónozni az event.target-et ami ugye a
button
jelen esetben, ez patentül működött is mert leszedte az eventListenert (bar az osszes gyerekerol leszedne de most ez még nem zavar), de utána nem tudtam értelmesen visszatenni rá mert valami para volt a masodik lefutastol a "parentNode"-valvar clone = event.target.cloneNode(true);
event.target.parentNode.replaceChild(clone, event.target);Ti hogyan oldanátok meg a problémát?
Tehat az a vegso cel, hogy egy gomb, kep, barmi eventlistenerbe belerakom a fuggvenyem, megadom neki mit animaljon, megcsinalja az animaciot, utana leszedi az animacio class-t, es az egesz kozben blokkolja az ujabb eventeket a gomb/kep/barmi -rol.[ Szerkesztve ]
(raw_item.get("pk").unwrap().as_s().unwrap().to_string()).split("#").collect::<Vec<&str>>()[1].to_string()
-
laracroft
aktív tag
Sziasztok
Valamit elrontok és nem tudom mit
Van egy php/MySQL lekérdezésem.
Azt szeretném elérni, hogy keresés közben a Keresés gombom ne legyen elérhető (ne nyomogassa többször a user).
Amint vége a keresésnek a gomb legyen újra aktív.Találtam megoldásokat, de egyiket sem tudtam beállítani.
Ez talán a leginkább szimpatikus nekem:$(function()
{
$('#keres_btn').on('click',function()
{
$(this).val('Keresés alatt ...')
.attr('disabled','disabled');
$('#keres_form').submit();
});
});A bajom az, hogy amint beállítom, nem fut le a query. Látom, hogy a gombon van változás, de a keresés nem fut le, nem lesz semmilyen eredménye.
Mit rontok el?
Előre is köszi -
Doink
aktív tag
válasz laracroft #7139 üzenetére
<!DOCTYPE html>
<html>
<body>
<button id="btn">Click me</button>
<script>
const btn = $("#btn");
btn.on("click", () => {
btn.attr("disabled", "disabled");
$.get("/egy-szep-url")
.then((response) => {
// 200 OK jött vissza
}).catch((error) => {
alert(error);
}).always(() => {
alert("Most fog lejönni a disabled");
btn.removeAttr("disabled");
});
});
</script>
</body>
</html>[ Szerkesztve ]
-
RedHarlow
aktív tag
Sziasztok!
Van egy ilyen scriptem, ami egy tábla adatait szépen leszedi, tök jól működik jelenleg, de nekem csak a sor 2. cellájának és a 4. (egyben utolsó) cellájának adataira lenne szükségem. Tudna segíteni valaki ezt megoldani?
var oTable = document.getElementById('table');
var rowLength = oTable.rows.length;
for (i = 4; i < rowLength -1; i++) {
var oCells = oTable.rows.item(i).cells;
var cellLength = oCells.length;
for(var j = 1; j < cellLength; j++) {
var cellVal = oCells.item(j).innerHTML;
console(cellVal);
}
}[ Módosította: mobal ]
-
sztanozs
veterán
válasz sztanozs #7145 üzenetére
de inkább célszerű helyesen indexelni és rögtön a másodiktól kezdeni:
for(var j = 1; j < cellLength; j+=2) {
Mondjuk a ciklusban simán felülírod a második értékkel az elsőt.
Inkább így kellene:cx = 0
for(var j = 0; j < cellLength; j+=2){
var cellVal[cx] = oCells.item(j).innerHTML;
console(cellVal[cx]);
cx++;
}[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
-
Lokids
addikt
Sziasztok!
Az alábbi kódban kérnék segítséget. Lefut, de minden zöld, dátumtól függetlenül:
function colorCodeRows() {
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
OnPostRender: function (ctx) {
// get today's date
var today = new Date();
// zero out the time portion so we will only compare days
today.setHours(0,0,0,0);
var rows = ctx.ListData.Row;
for (var i = 0; i < rows.length; i++) {
// get the date set in your date YourDateField
var itemDate = new Date(rows[i]["Határidő"]);
// zero out the time portion so we only compare days
itemDate.setHours(0,0,0,0);
var rowId = GenerateIIDForListItem(ctx, rows[i]);
var row = document.getElementById(rowId);
if (itemDate > today) {
row.style.backgroundColor = '#00FF00';
} else if (itemDate = today) {
row.style.backgroundColor = '#FFFF00';
} else if (itemDate < today) {
row.style.backgroundColor = '#FF0000';
}
}
}
});
}
RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens('~site/SiteAssets/JSLink/coloring.js'), colorCodeRows);
colorCodeRows();Nem tudom mit nézek be, mert elvileg teljesül a többi feltétel, de a notepad nem tud lépésenkénti futtatást.
[ Szerkesztve ]
If you chase two rabbits you will lose them both.
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- Újabb Samsungok telepíthetik a Galaxy AI-t
- bb0t: Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- Mindent megtudtunk az új Nokia 3210-ről
- Milyen billentyűzetet vegyek?
- Képeken az egyik kameráját elvesztő Sony Xperia 10 VI
- nVidia tulajok OFF topikja
- Vezetékes FÜLhallgatók
- Léghűtés topik
- Érkezik Magyarországa az LG szuper dizájnos hordozható projektora
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen