document.forms-rajapinnan käytöstä on ollut hieman epäselvyyttä.
Kannattaa vilkaista tämä luentopätkä, jossa asiaa selitetään:
https://appro.mit.jyu.fi/tiea2120/luennot/forms/#TOC7
Tarkoitus ei ole tehdä lomakekenttien käsittelyä hankalammaksi vaan
helpottaa sitä. document.forms-rajapinnan kautta on helppo käsitellä
input-, fieldset-, textarea- ja select-elementtejä ja niihin syötettyjä
arvoja.
lomakkeiden testaamista voi myös hitusen helpottaa, jos laittaa
autocompleten pois päältä, koska autocomplete välillä sotkee
virheilmoitusten näyttämistä yms.
<form method="..." action="..." autocomplete="off">
Samoin muistakaa, että lomakkeen submit-tapahtuma ei oletuksena tapahdu,
jos lomakkeen sisältö rikkoo rajoitteita. Esim. pakolliseen kenttään ei
ole syötetty mitään. Ts. selain automaattisesti validoi lomakkeen eikä
suorita submit-tapahtumaa, jos lomake ei ole validi. Tämän voi halutessaan
estää asettamalla lomakkeelle novalidate-html-attribuutin.
submit-painikkeen click-tapahtuma tapahtuu kyllä aina eli myös siihen voi
yhdistää tarkistuksia.
https://appro.mit.jyu.fi/tiea2120/luennot/forms/#TOC13
Muistakaa myös mitä eroja on seuraavilla:
input.setAttribute("checked", ""); // asettaa oletusarvona valituksi
input.defaultChecked = true; // sama kuin edellä oleva setAttribute
// seuraava tekee valinnan eli sama kuin käyttäjä tekisi valinnan
input.checked = true;
Esim. jos lomake resetoidaan, niin se palaa alkuasetuksiinsa ja
radiobuttoneista valituksi tulee se jolle on asetettu tuo
checked-html-attribuutti tai defaultChecked-javascript-property.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement
--
Tommi Lahtonen, tommi.j.lahtonen(a)jyu.fi, < https://hazor.iki.fi/ >
The essence of being human is not understanding the opposite sex.
Hei,
mainitsit ensimmäisellä luennolla, että Web-käyttöliittymien ohjelmoinnin (TIEA2120) voisi korvata tuolla Helsingin yliopiston -kurssilla. Lueskelin sieltä, että sitä voi suorittaa suuressa laajuudessa, mutta korvaako Full Stackin ydinkurssi tuon vaadittavan 5op TIEA2120 kurssista? Onko tuon suorituksessa suurempia ongelmia ja sen suorituksen rekisteröinnissä?
Kyse tästä: https://fullstackopen.com/<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ffullstack…>
Full stack open<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ffullstack…>
Helsingin yliopiston ja Houston Inc:n kaikille avoin ja ilmainen moderniin JavaScript-pohjaiseen web-sovelluskehitykseen keskittyvä kurssi. Osallistujilta edellytetään vahvaa ohjelmointirutiinia, pitkäjänteistyyttä ja valmiuksia omatoimiseen ongelmanratkaisuun.
fullstackopen.com
terv.
Petteri Kuisma
Viikkotehtävä 2:n valmiissa vt2.js-tiedostossa on pieni virhe, joka
aiheuttaa sovelluksen tilan resetoinnin aina, kun lataa sivun uudelleen.
Korjattu versio löytyy gitlabista. Tämän voi myös itse korjata
muuuttamalla rivin:
const response = await fetch('https://appro.mit.jyu.fi/cgi-bin/tiea2120/vt2.cgi/');
muotoon:
const response = await fetch('https://appro.mit.jyu.fi/cgi-bin/tiea2120/vt2.cgi/', {"credentials": "include"});
Mitä tämä muutos tekee? Käytännössä se käskee selainta lähettämään myös
sessio (istunto) evästeen fetch-pyynnön mukana ja tämä on olennaista, että
palvelin osaa identifioida oikean istunnon ja osaa palauttaa joka kerta
saman datan.
--
Tommi Lahtonen, tommi.j.lahtonen(a)jyu.fi, < https://hazor.iki.fi/ >
The fastest way to discover all your bad habits is to move in with your lover.
Ensimmäisen viikkotehtävän voi nyt vertaisarvioida osoitteessa:
https://appro.mit.jyu.fi/cgi-bin/tiea2120/ilmo/ilmo.cgi/arvioi
Testaa ja tutki sinulle vertaisarvioitavaksi arvottu tehtävä. Kirjoita
tehtävästä hyvä palaute: mitä vastauksessa oli hyvää, mitä puutteita, mitä
voisi korjata, miten korjaisit, mitä oli paremmin/huonommin kuin omassa
vastauksessasi, mitä opit toisen vastauksesta jne.
Jos kirjoitat hyviä vertaisarviointeja kurssin aikana, voit saada
lisäpisteitä (max. 2) viikkotehtäväsaldoosi.
Anna tehtävälle arvosana sen mukaan täyttääkö tehtävä annetun tason
vaatimukset kokonaan vai osittain. Jos vastaus täyttää vaatimukset vain
osittain, anna matalampi arvosana.
Opettaja tekee tehtävälle myöhemmin lopullisen arvioinnin ja vahvistaa
tehtävän lopullisen arvosanan.
Tehkää vertaisarviointinne tämän viikon loppuun mennessä.
--
Tommi Lahtonen, tommi.j.lahtonen(a)jyu.fi, < https://hazor.iki.fi/ >
Laughter is the closest distance between two people. -- Victor Borge