Wpis z mikrobloga

Czemu mój gownokod nie działa? Chcę mieć 2 listenery na Submit, a jak jeden mam to drugi nie działa.

const btn = document.querySelector('.btn');

btn.addEventListener('click', (e) => {
e.preventDefault();
console.log('click');
//document.querySelector('body').classList.add('bg-dark');
})

const myForm = document.querySelector('#my-form');
const nameInput = document.querySelector('#name');
const emailInput = document.querySelector('#email');
const msg = document.querySelector('.msg');
const userList = document.querySelector('#users');

myForm.addEventListener('submit', onSubmit);

function onSubmit(e) {
e.preventDefault();

console.log('why this msg is never printed, frens?!');

if(nameInput.value === '' || emailInput.value === '') {
msg.classList.add('error');
msg.innerHTML = 'Please enter all fields';
console.log('hereeee')

setTimeout(() => msg.remove(), 3000);
} else {
const li = document.createElement('li');

li.appendChild(document.createTextNode(${nameInput.value}: ${emailInput.value}));

userList.appendChild(li);

nameInput.value = '';
emailInput.value = '';
}
}
#programowanie @vito199 #javascript
  • 37
  • Odpowiedz
@hufsa: Nie mam za bardzo czym się chwalić, bo na żadnym bootcampie jeszcze nie byłam. Natomiast piszę sobie sporadycznie w JS już przeszło 8 lat, najpierw wi jQuery i Ember, później w Angular 1.x i w Node, potem w React, a obecnie tworzę rzeczy pod Electron. Nie powiem żebym była jakimś guru tego języka, bo z powodu jego dziwacznej architektury uważam go za bardzo złe narzędzie. Niemniej niepotrzebne mieszanie const i
  • Odpowiedz
@salamander-kwarcowy: 8 lat? xD Chyba 8 miesiecy. Masz zerowe pojecie o JS ;) No offence ale jak widze takie gowno-rady to noz sie w kieszeni otwiera. Doczytaj o let, o const, o var - jeszcze wrocisz z podziekowaniami.
  • Odpowiedz
@hufsa: Tak tak panie wykopowy ekspert. Jeszcze pamiętam czasy sprzed ES6 i ile było zabawy z hoistingiem i zakresem zmiennych w JS. Co wtedy robiłeś? Prosiłeś mamę o kieszonkowe na gumę kulkę? Przeglądałeś maxiora na lekcji informatyki w gimnazjum? XD
  • Odpowiedz
@salamander-kwarcowy: Po co ja sie w ogole produkuje. Zyj sobie w swoim swiecie. Nie wiem kto Cie zatrudnil ale ja bym tego nie zrobil ;) chyba ze robisz w jakims Januszexie to pewnie taka 'wiedza' moze przejsc. Ja nie musze nikomu, a zwlaszcza Tobie, nic udowadniac. Mam ciekawsze rzeczy do roboty. Nie moge tylko stac obojetnie jak ktos daje komus calkowicie bledne i pozbawione sensu porady, nothing personal.
  • Odpowiedz
@hufsa: No mało mnie obchodzą twoje mądrości. Nota bene to chyba nawet na tych słynnych bootcampach powinni uczyć, że niepotrzebne mieszanie typów zmiennych nawet w takim języku jak JS nie jest dobrą praktyką. To też nic osobistego, ale gdyby kiedyś z braku profesjonalistów odesłaliby do rekrutowania mnie takiego nieporadnego juniora to pewnie bym wyszła stwierdzając, że szkoda mojego czasu na niepoważną firmę ¯\_(ツ)_/¯

. Ja nie musze nikomu, a zwlaszcza Tobie,
salamander-kwarcowy - @hufsa: No mało mnie obchodzą twoje mądrości. Nota bene to chyb...

źródło: comment_1596837718Z23ah3F4OjivXC8m5h1zxH.jpg

Pobierz
  • Odpowiedz
@salamander-kwarcowy:

mieszanie typów zmiennych nawet w takim języku jak JS nie jest dobrą praktyką.


Trolujesz tak? Jezu, myslalem ze to tak na powaznie xD Dalem sie nabrac, sorry ( ͡° ͜ʖ ͡°) Dobra zarzutka

Ale przecież to właśnie ty mnie zawołałeś


Zacytuje sam siebie w odpowiedzi

Nie moge tylko stac obojetnie jak ktos daje komus calkowicie bledne i pozbawione sensu porady, nothing personal.
  • Odpowiedz
@salamander-kwarcowy: Jesli ja jestem juniorem to ty nie wyszlas jeszcze z przedszkola. Zbudowalem w zyciu tyle systemow, ze ty nie potrafisz do tylu liczyc xD

byla niezla beka z ciebie, dzieki. Pokaze twoje posty w robocie xD
  • Odpowiedz
Zbudowalem w zyciu tyle systemow, ze ty nie potrafisz do tylu liczyc xD


@hufsa: Skoro pisałeś je wszystkie w tak profesjonalnym języku jak Javascript to chyba już rozumiem w czym problem i czemu nie potrafimy się porozumieć:)

byla niezla beka z ciebie, dzieki. Pokaze twoje posty w robocie xD


@hufsa: Spoko, napisz mi jeszcze że pokażesz je mamie i babci. To się profesjonalnie nazywa chyba dowód społeczny i polega na
  • Odpowiedz
@salamander-kwarcowy: Nigdy nie powiedzialem ze pisalem je w JS, nie jestem jakims frontendowcem xD


Znam JS bo uzywalem jako jezyk skryptowy w aplikacji napisanej w C++. Mozna powiedziec, ze znam JS doglebnie ;)

Dodatkowo lubie JS bo jest... inny

Niech posłucha wykopowego eksperta i buduje cały system na stałych to na pewno daleko zajdzie xD


Poruszylas ciekawy temat choc pewnie nie zdajesz sobie sprawy. Immutability - sa cale systemy ktore sa
  • Odpowiedz
Dodatkowo lubie JS bo jest... inny


@hufsa: Jest "inny" bo został napisany w pośpiechu w dwa tygodnie gdy Netscape doszedł do wniosku, że nie będzie można tak łatwo wykonywać Javy po stronie klienta. Do czasów V8 służył głównie rzeczy typu walidacja formularzy po stronie klienta i tam też właśnie powinien pozostać:)

Dziedziczenie prototypowe, callback hell, pudrowanie składni, taka se śmierciarka, asynchroniczność (dla node), hoisting i tak dalej.

Jego główną zaletą jest
  • Odpowiedz
@salamander-kwarcowy: Weź sobie po prostu zainstaluj linter, zainstaluj jakiś pakiet z najpopularniejszymi rulesami używanymi i uznanymi przez większą część ekosystemu (np airbnb) i nie wciskaj OPowi ciemnoty, bo zaraz się okaże, że gość będzie wciskał twojego leta wszędzie, łącznie z miejscami z destrukturyzacją obiektów czy miejscami w których ma enumy.

Wszystkiego trzeba używać z głową, a twoje ogólnikowe pisanie z popadaniem w skrajność mu na pewno nie pomoże.
  • Odpowiedz
@salamander-kwarcowy: A tak w ogóle to uważam, że warto używać constów choćby z tego względu, żeby poinformować innych na dzień dobry, że obiekt nie powinien być mutowany mimo to, że można to zrobić. Dodatkowo dzięki letom łatwiej steruje się zachowaniem programu jawnie wskazując na to, ktore referencje mogą być nullowalne, a które nie.

Dla mnie czytanie kodu z const i let jest łatwiejsze bo wymaga mniejszego obciążenia poznawczego.

No ale ok,
  • Odpowiedz
że gość będzie wciskał twojego leta wszędzie, łącznie z miejscami z destrukturyzacją obiektów czy miejscami w których ma enumy.


@TheHatefulCoder: Ale co do obiektów ja się zgadzam, że lepiej używać const :) let natomiast do typów prymitywnych, chyba że faktycznie sytuacja absolutnie nakazuje aby potraktować zmienną jako "niemutowalną".

Imo nawyk ciągłego określania zmiennych typu prymitywnego jako const jest bardzo zły. Potem przy większym projekcie odpalisz taki program i marnujesz czas na
  • Odpowiedz