@programista4k: Bo javascriptowej konwencji ten typ służy przede wszystkim do przypisywania obiektów, najczęściej z zewnętrznych bibliotek. Dla większości primitive types nie ma on sensu, będziesz potem chciał wykonać jakąś operację na tej zmiennej i zdziwisz się jak wywali ci error. Używaj var, albo jeszcze lepiej let,
@salamander-kwarcowy: no to nie bede jej zmienial tylko utworzę nową, zgodnie z paradygmatem funkcyjnym
Zdecydowanie kontynuuj z taką praktyką, Lepiej dostać błąd (polecam TS i błędy compile-time), niż potem siedzieć z debuggerem przez pół godziny badając kolejne stany aplikacji.
onClick jest wywoływany przed onSubmit, a jako że w listenerze dla onClick masz 'preventDefault' które blokuje domyślne działanie, w tym wykonanie onSubmit (niestety kolejność eventów jest zależna od
@programista4k: @salamander-kwarcowy: O moj borze, nie sluchaj takich gowno-rad. Absolutnie poprawnie uzycie const. Uzywaj const i let i unikaj uzywania var chyba, ze wiesz co robisz.
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
źródło: comment_1596827957ZEfe0WJvfcOg9lc2DIXhIC.jpg
Pobierzhttps://jsfiddle.net/90fq2h56/#&togetherjs=hl6wk3CDr7 @vito199
No i na Boga, nie używam const do zapisywania normalnych zmiennych (╯°□°)╯︵ ┻━┻
@vito199: dzie wylaczylem "preventdefault"?
Komentarz usunięty przez autora
Zdecydowanie kontynuuj z taką praktyką, Lepiej dostać błąd (polecam TS i błędy compile-time), niż potem siedzieć z debuggerem przez pół godziny badając kolejne stany aplikacji.
onClick jest wywoływany przed onSubmit, a jako że w listenerze dla onClick masz 'preventDefault' które blokuje domyślne działanie, w tym wykonanie onSubmit (niestety kolejność eventów jest zależna od
const. Uzywajconstileti unikaj uzywaniavarchyba, ze wiesz co robisz.