jquery-lomakkeen vahvistus. Miksi minun pitää tarkistaa lomakkeen täyttö? Kuinka toteutamme jquery-vahvistuksen

iloiset viikset 7. toukokuuta 2017 klo 02:32 Tyhjien lomakekenttien tarkistaminen: yleinen menetelmä
  • HTML,
  • JavaScript

Verkkosivujen luojat joutuvat jossain vaiheessa tarkistamaan, onko käyttäjä täyttänyt sivustolle lähetetyn lomakkeen kentät. Tätä varten luodaan jonkinlainen vaihtoehto tyhjien kenttien tarkistamiseksi, jota käytetään sen projekteissa. Mutta kussakin tapauksessa tarkastettavien kenttien määrä voi olla erilainen. Tämä johtaa siihen, että luotua vahvistusvaihtoehtoa on muutettava erityisolosuhteiden mukaan, ja tulevaisuudessa meillä on siihen useita muutoksia.

Lisäksi sivuston yhdelle sivulle voidaan sijoittaa useita lomakkeita, joista jokaisella on erilaisia ​​määriä Pakolliset kentät. Tämän seurauksena koodi sisältää useita lohkoja, joilla on samat toiminnot, mutta erilaisia ​​ehtoja, mikä ei aina ole oikea päätös.

Käytännössäni jouduin myös käyttämään erilaisia ​​muunnelmia lomakkeen kenttien täytön tarkistaminen tietyistä ehdoista riippuen. Ja *.js-tiedosto sisälsi useita toimintoja eri muotojen tarkistamiseen, mikä lisäsi koodin määrää ja huononsi sen havaintoa.


Jossain vaiheessa päätettiin kirjoittaa versio universaali menetelmä tyhjien kenttien tarkistaminen, joita voidaan käyttää mihin tahansa lomakkeeseen, jossa on kuinka monta pakollista kenttää on. Tarvittavat ehdot Tämän menetelmän määritti yksinkertaisuus ja tilaa vievien rakenteiden puuttuminen. Tuloksena löydettiin menetelmä, joka tyydytti minut täysin sekä yksinkertaisuudellaan että monipuolisuudellaan.


Tämän menetelmän ydin:

  • Pakollisten kenttien html-merkinnöissä lisätään data-attribuutti, joka on pakollinen merkintä.
  • Vahvistus suoritetaan vain niille kentille, joilla on tämä määrite.
  • Mahdollisuus laajentaa toimintoja tarkistamalla arvo, käyttäjän määrittelemä kentällä.
  • Esimerkki lomakkeen merkinnöistä:


    Lomakkeen otsikko #1 Pakollinen Pakollinen Pakollinen Pakollinen

    Esimerkkikentän vahvistuskoodi:


    $(".js-form-validate").submit(function () ( var form = $(this); var field = ; form.find("input").each(function () ( field.push(" input"); var arvo = $(this).val(), rivi = $(this).closest(.some-form__line"); for(var i=0;i


    Menetelmä, jota käytimme kutsumaan funktiota onsubmit-tapahtuman kautta, vaatii yhden loogisista arvoista palauttamisen: true tai false funktion tuloksena. Ja tästä arvosta riippuen lomake joko lähetetään tai ei.

    Yritetään nyt kirjoittaa tähän tiettyyn lomakkeeseen sidottu vahvistusfunktio. Kuten muistat, meidän on täytettävä vain kaksi kenttää: vierailijan nimi ja hänen sähköpostiosoite. Yksinkertaisin asia on tarkistaa jokaisen pakollisen kentän sisältö tekstin puuttumisen varalta:


    < script language = "javascript" >


    Kuten näet, vahvistustoiminto koostuu kahdesta identtisestä lohkosta, jotka eroavat vain tarkistettavan kentän nimestä. Kommentoidaan jokainen rivi näissä lohkoissa:

    Tarkistamme ensin, että tämä kenttä on tyhjä. Ja jos näin on, niin sitten
    näyttää virheilmoituksen sisäänrakennetun laitteen avulla hälytystoiminnot(). Kun käyttäjä sulkee ikkunan, me
    Käytetään fokus()-menetelmää ja siirretään kohdistin virheelliseen kenttään. Ja lopuksi
    Poistutaan funktiosta asettamalla onnistumislipun arvoksi false.
    Jos tarkistettava kenttä ei ollut tyhjä, vastaava lohko yksinkertaisesti ohitetaan. Jos kaikki tarkistuslohkot ohitetaan, funktio palauttaa tuloksena tosi, mikä osoittaa onnistuneen tarkistuksen.

    Universaali vahvistustoiminto

    Jos meidän on tarkistettava vain kaksi tai kolme kenttää, voimme silti hyväksyä tämän "yksi kerrallaan" tarkistusmenetelmän, mutta entä jos niitä on useita kymmeniä? Mutta tämä ei ole harvinaista - varsinkin monimutkaisissa kyselylomakkeissa. Siksi muokkaamme hieman toimintoamme, jotta se ei riipu tarkistettavien kenttien määrästä.

    Ensinnäkin luomme taulukon, jossa luetellaan kaikkien vahvistusta vaativien kenttien nimet:

    Pakollinen = new array("nimi", "sähköposti");

    Tämän lähestymistavan avulla voimme helposti lisätä ja muokata pakollisten kenttien luetteloa muuttamatta suoraan itse funktion koodia.

    Yllä kuvatun taulukon lisäksi lisäämme toisen, joka sisältää virhetekstin tietylle kentälle:

    Required_show = new array("Nimesi", "sähköposti");

    Näin voimme vapaasti vaihdella tekstiä virheistä ja käyttää venäjän kieltä oikein, emmekä tyydy sulamattomiin lauseisiin, kuten "nimeä ei ole annettu".

    Kun on joukko pakollisia kenttiä, koko tarkistus voidaan tehdä silmukassa. Muokattu tarkistustoiminto näyttäisi tältä:


    < script language = "javascript" >


    Silmukassa kaikki lomakekentät tarkistetaan, jotta nähdään, vastaavatko ne "pakollisia" kenttiä. Jos osuma tapahtuu, tarkistus suoritetaan samalla tavalla kuin edellä on kuvattu, mutta yhdellä varoituksella - virheilmoituksia sisältävän taulukon käyttöönotto vaati hieman muutosta alert()-funktioon, joten nyt virheteksti riippuu suoraan kentän nimi.

    Siinä se periaatteessa on. Tämä toiminto on varsin universaali ja minimaalisilla säädöillä (olennaisesti kahden taulukon sisältö) voidaan mukauttaa mihin tahansa muotoon.

    Takaisin

    Asiakaspuolen kentän validointi on jotain, mitä jokaisella lomakkeella pitäisi olla, siitä ei ole epäilystäkään. Ensinnäkin käyttäjän ei tarvitse odottaa ja tuhlata hermojaan. Toiseksi osoitat, että välität vierailijoistasi. Vierailijan on erittäin mukava tietää etukäteen, mitä hän teki väärin.

    Tässä opetusohjelmassa opimme kirjoittamaan jQuery-lomakkeen validointia reaaliajassa. Jos haluat nähdä, mitä voit keksiä, voit klikata DEMO ja katsoa.

    Mitä opimme tänään? Kuinka toteutamme jquery-validoinnin?

    On monia tapoja saavuttaa tämä, tässä ovat yleisimmät:

  • Voimme luoda SPAN-tunnisteen (joka sisältää vahvistustiedot) syöttökentän viereen ja antaa sille tietyn tunnuksen, jonka kautta pääsemme siihen käsiksi.
  • Voimme kääriä jokaisen kentän P-tunnisteeseen, jonka sisään luodaan SPAN, joka sisältää tiedot kentän validoinnista.
  • Voit myös kääriä P-kentän tunnisteella, jonka sisällä voit “opetella” SPAN (lennossa jqueryn avulla).
  • Tämä kaikki toimii, mutta se ei toimi paras tapa toteutus. Miksi? Koska syöttömuodossa on liikaa ylimääräistä HTML-koodia, jota emme tarvitse. On noudatettava.

    Teemme sen kuten tein itselleni. Mielestäni tämä on oikea ratkaisu, vaikka kukaan ei tee niin. Rehellisesti sanottuna en ole nähnyt kenenkään muun tekevän tätä... jos tiedät, kirjoita minulle kommentti oppitunnin lopussa.

    Mitä aiomme tehdä?
  • Me kirjoitamme yksinkertainen muoto, kaunis ja puhdas semanttinen koodi, ilman tarpeettomia tunnisteita.
  • Koska ihmiset täyttävät jokaisen kentän erikseen, voimme seurata ja vahvistaa sen lennossa:
    • Määritä sen sijainti ikkunassa (vasemmassa yläkulmassa)
    • Määritä sen leveys
    • Näin tiedämme, missä sen loppu on.
    • Lisätään vahvistustiedot tietyn tunnuksen omaavaan DIV-lohkoon tietyn kentän oikealle puolelle. Annamme myös vastaavat luokat .correct tai .incorrect.
  • Huomautus: tämä on hyväksyttävä myös ihmisille, jotka eivät käytä JavaScriptiä selaimessaan. Nämä tarkistetaan palvelinpuolella.

    Hankkeen rakenne

    Meidän on luotava kolme tiedostoa:

  • index.html
  • tyyli.css
  • validate.js
  • Katsomme kaiken vaihe vaiheelta... ensin HTML-koodi, sitten tarvittava CSS-tyylejä, keskitymme myöhemmin pääasialliseen jQuery-lomakkeen vahvistusskriptiin.

    HTML:n kirjoittaminen

    Puretaan se kaikki...

    Vaihe 1 - luo perus HTML koodi

    Aloita luomalla index.html-tiedosto ja liittämällä siihen tämä peruskoodi. Voit nähdä, että sisällytämme alla olevan jQuery-tiedoston ennen validation.js-tiedostoa, joka sisältää vahvistuskoodimme.

    Vaihe 2 - luo kolmeen osaan jaettu muoto

    Luomme kolmiosaisen lomakkeen, jossa nähdään, kuinka eri syöttökentät ja ruudut tarkistetaan. Jaossa käytämme FIELDSET- ja LABEL-tunnisteita kunkin osion otsikoissa:

  • Henkilötiedot (käyttäjänimi, syntymäpäivä, sukupuoli, ajoneuvo).
  • Sähköposti (käyttäjän sähköpostin syöttökenttä).
  • Minusta ( lyhyttä tietoa käyttäjästä).
  • Reaaliaikainen lomakkeen vahvistus jQueryn henkilökohtaisten sähköpostitietojen avulla Vaihe 3 - lisää kenttiä ja vahvista -painike

    Hienoa, luodaan nyt joitain syöttökenttiä lomakkeellemme. Oppitunnillemme valitsimme useita eri kenttiä:

    • Kolme INPUT kentät(käyttäjänimi, syntymäaika, sähköpostiosoite).
    • RADIO-painikkeet valitaksesi sukupuolen.
    • TARKASTUSLAATIKKO varten Ajoneuvo käyttäjä.
    • TEXTAREA käyttäjille.
    • "Vahvista"-painikkeen PAINIKE.

    Käärimme jokaisen LABLE- ja syöttökentän P-tunnisteeseen erottaaksemme sen erillisiksi lohkoiksi. Nyt sinun lopullinen tiedosto index.html näyttää tältä:

    Reaaliaikainen lomakkeiden vahvistus jQueryn henkilökohtaisten tietojen avulla

    Koko nimi:

    Syntymäpäivä (pp-kk-vvvv):

    Olen: Mies Nainen

    Omistan: auton lentokoneen polkupyörälaivan

    Sähköposti

    Sähköposti ( [sähköposti suojattu]):

    Sinusta

    Kerro meille hieman itsestäsi:

    Lähetä

    Tämä saattaa näyttää hieman pelottavalta, mutta se johtuu siitä, että lomakkeessamme on paljon syöttökenttiä. Itse asiassa tässä ei ole mitään monimutkaista. Tallenna tiedosto ja katso selaimesta mitä tapahtuu. Nyt koristellaan vähän...

    CSS:n lisääminen

    Koska CSS-tyyli ei ole tämän päivän opetusohjelman pääaihe, emme käsittele sitä. Tarvitsemme vain tämän CSS-koodin, jotta lomake näyttää hyvältä ja kaikki lohkot ovat paikoillaan.

    Luo style.css-tiedosto ja liitä siihen alla oleva koodi. Nyt tuleva jquery-vahvistuksen sisältävä lomake näyttää hämmästyttävältä. Eikö ole?

    Teksti ( tausta: #efefef; marginaali: 0; täyttö: 0; reuna: ei mitään; tekstin tasaus: keskellä; fontti: normaali 13px Georgia, "Times New Roman", Times, serif; väri: #222; ) #content ( leveys: 500px: marginaali-alhainen: 25px-reunus: 7px; 7px-säde: normaali 30px Verdana, Arial, sans-shadow: 1px 1px: #273953; : 3 kuvapistettä linjaus: 5px; ; -webkit-box-shadow: -1px 1px 2px #a9a9a9; box-shadow: -1px 1px 2px #a9a9a9; ) .error ( tausta: #f60000; reunus: 3px solid #d50000; ) .correct ( tausta: #56d800; reunus: 3px solid #008000; ) .wrong ( font-weight: bold; color: #e90000; ) .normaali ( fontin paino: normaali; väri: #222; ) #lähetä ( tausta: #3f5a81; leveys: 100%; reunus: 5px solid #0F1620; fontti: lihavoitu 30px Verdana, sans-serif; väri: #fafafa; teksti- varjo: 1px 1px #0F1620; -webkit-border-radius: 7px ) #send:hover ( tausta: #4d76b1; reunus: 5px solid #253750; color: #fff; ) #send: (tekstin sisennys: -10px;)

    Kirjoitetaan jQuery-lomakkeen vahvistusta

    Tämä on oppitunnin mielenkiintoisin ja jännittävin osa. Mutta ensin meidän on mietittävä ja kuvattava työmme pääkohdat. Sinun täytyy suunnitella kaikki.

    Suunnittelevat

    Ennen kuin kirjoitamme, kysy itseltäsi kolme kysymystä:

  • Mitä tarvitsemme tästä käsikirjoituksesta?
  • Miten haluamme tehdä tämän?
  • Miten saavutamme tämän?
  • Tämä on selvää, haluamme komentosarjan vahvistavan lomakkeen. Mutta miten? Haluamme sen tekevän tämän reaaliajassa (kun käyttäjä on täyttänyt syöttökentän) ja kun "Vahvista"-painiketta napsautetaan. Siksi meidän on kirjoitettava useita funktioita: erikseen jokaiselle syöttökentälle ja kaikille lomakkeille (jotka kutsutaan, kun "Vahvista"-painiketta napsautetaan).

    Koodin toiston estämiseksi meidän on luotava JavaScript-objekti tätä varten.

    Mitä me tarvitsemme tähän?

    Meidän tapauksessamme JS-objektia kutsutaan nimellä jVal, se sisältää seuraavat menetelmät:

    • jVal.fullName
    • jVal.birthDate
    • jVal.gender
    • jVal.vehicle
    • jVal.email
    • jVal.about

    Muuttuja, joka sisältää tilan nykyinen virhe- jVal.errors. Ja menetelmä, joka tarkistaa, onko virheitä, ja vahvistaa lomakkeen lähetyksen tai hylkää sen. Jos virheitä löytyy, se ohjaa käyttäjän lomakkeen alkuun, jossa hän voi täyttää kaikki kentät oikein.

    Menetelmä on nimeltään - jVal.sendIt

    Nyt voimme alkaa kehittämään jQuery-skripti lomakkeen vahvistus. Kun kirjoitamme ensimmäisen menetelmän, kaikki menee helpommin ja nopeammin.

    Aloitetaan työ

    Koodin perusta on yksinkertainen, ehdottomasti kaikki jquery-koodi sisältyy tähän syntaksiin:

    $(asiakirja).ready(funktio())( jVal = ( ); ));

    Käyttäjätunnuskentän vahvistaminen

    Ensimmäinen menetelmämme käsittelee "käyttäjänimi"-kentän. Liitä se jVal-objektin sisään, kuten esimerkissä näkyy:

    Muutt jVal = ( "kokoNimi" : function() ( ) );

    Nyt kirjoitetaan muutama koodirivi menetelmän sisään. Liitä ne vain, niin katsomme, mitä se tarkoittaa seuraavaksi:

    $("body"). append(""); var nameInfo = $("#nameInfo"); var ele = $("#kokonimi"); var pos = ele.offset();

    Rivi 1: Lisäämme asiakirjaan DIV-lohkon. Luokkatiedot, antaa tyyliä lohkolle, joka on määritelty style.css-tiedostossa, tekee siitä myös näkymätön käyttämällä display:none; Etsi tunnus, tämä on, jotta sinulla on nopea pääsy tähän lohkoon ja käsittele sitä jQueryn avulla. Tämä DIV-lohko sisältää kentän vahvistustiedot.

    Rivi 3: Kirjoitamme kutsun tälle lohkolle muuttujassa, koska käytämme sitä suuri määrä kerran.

    Rivi 4: Kuten edellisessä tapauksessa, kirjaamme yhteyden kokonimi-kenttään muuttujaan. Tulemme myös käyttämään sitä monta kertaa.

    jQuery offset()-funktio palauttaa elementin nykyisen sijainnin suhteessa asiakirjaan. Palautettiin objektina, joka sisältää ylä- ja vasemmanpuoleiset ominaisuudet. Käytämme tätä toimintoa ele:ssä syöttökentän sijainnin määrittämiseen.

    Lisätään nyt muutama rivi lisää...

    NameInfo.css(( ylhäällä: pos.top-3, vasen: pos.left+ele.width()+15 ));

    Kuten näet, alamme toimia nameInfo-lohkon tyyleillä. Erityisesti asetamme sen sijainnin syöttökentän oikealle puolelle. Tätä varten siirrämme sitä 3 pikseliä ylöspäin (2. koodirivi) ja siirrämme sitä 15 pikseliä kentän oikealle puolelle (3. koodirivi).

    Olemme kirjoittaneet 50% ensimmäisestä menetelmästä, viemme sen loppuun. On aika selvittää, kuinka oikein käyttäjä syötti tiedot ja ryhtyä toimiin...

    If(ele.val().length< 6) { jVal.errors = true; nameInfo.removeClass("correct").addClass("error").html("← at least 6 characters").show(); ele.removeClass("normal").addClass("wrong"); } else { nameInfo.removeClass("error").addClass("correct").html("√").show(); ele.removeClass("wrong").addClass("normal"); }

    Ei näytä hyvältä? Ei ole mitään pelättävää...

    Rivi 1: Tarkistamme, että käyttäjän antamassa nimessä on vähintään 6 merkkiä.

    Rivi 2: Aseta jVal.errors-muuttuja arvoon true, koska olemme havainneet, että käyttäjätunnus on liian lyhyt. Käytämme tätä jatkossakin.

    Rivi 3: Aloitamme käytön nameInfo-elementillämme (jossa näytämme tietoja). Ensin poistamme oikean luokan ja määritämme luokkavirheen. Seuraavaksi lisäämme sisältöä nameInfo-elementtiin, tämä on tieto, että nimen tulee olla pidempi kuin 6 merkkiä. Ja lopuksi teemme viestimme näkyväksi käyttäjälle.

    Rivi 4: Alamme manipuloida ele-elementtiämme (käyttäjätunnuksen syöttölomake). Poistamme normaalin luokan ja määritämme sen väärin.

    Rivi 5: Jos käyttäjätunnus on tarpeeksi pitkä, niin...

    Rivi 6: Aloitamme nameInfo-elementin manipuloinnin. Jos luokkavirhe on määritetty, poistamme sen ja määritämme luokan oikein. Laitamme "lintu" sisään ymmärtääksemme, että kaikki on kunnossa. Ja näyttää viestin käyttäjälle.

    Rivi 7: Toimimme ele-elementin kanssa. Poistamme väärän luokan, jos sitä käytetään, ja käytämme normaalia luokkaa.

    Olemme luoneet ensimmäisen validointimenetelmämme! On aika testata sitä. Meidän on varmistettava, että menetelmäämme kutsutaan, kun käyttäjä on kirjoittanut nimensä. Tämän toteuttamiseksi meidän on liitettävä tapahtuma toimintoon. Käytämme change()-funktiota. Liitä alla oleva esimerkkikoodi jVal-objektin alle:

    $("#kokonimi").change(jVal.fullName);

    Mitä tämä tarkoittaa ihmisen kieli: Jos käyttäjä muuttaa "Full name" -kentän arvoa ja tekee sen sitten, kutsutaan fullName-metodia, joka vahvistaa kentän.

    Valite.js-tiedostosi pitäisi nyt sisältää seuraavan koodin:

    < 6) { jVal.errors = true; nameInfo.removeClass("correct").addClass("error").html("← at least 6 characters").show(); ele.removeClass("normal").addClass("wrong"); } else { nameInfo.removeClass("error").addClass("correct").html("√").show(); ele.removeClass("wrong").addClass("normal"); } } }; // bind jVal.fullName function to "Full name" form field $("#fullname").change(jVal.fullName); });

    Syntymäaikakentän vahvistaminen

    Nyt kaikki sujuu nopeammin. Meidän täytyy vain tehdä kopio fullName-menetelmästä ja tehdä joitain muutoksia.

    Kopioi nyt fullName-menetelmä, liitä se alle ja nimeä se uudelleen syntymäpäiväksi. Ja tee seuraavat muutokset:

    • Aina kun nameInfo näkyy, korvaa se syntymätiedolla
    • Käytä #kokonimi-arvon sijasta ele-muuttujaa #birthday
    • Liitä tämä malli tavallinen ilme alla on birthInfo.css()-lauseke:
    var patt = /^(2)\-(2)\-(4)$/i;
    • Vanhan if()-lausekkeen pitäisi olla:
    if(!patt.test(ele.val()))
    • Tämän kentän viesti on: kirjoita päivämäärä oikeassa muodossa

    Syntymäpäivämenetelmän pitäisi näyttää tältä näiden muutosten tekemisen jälkeen:

    "syntymäpäivä" : funktio ()( $("body").append(""); var birthInfo = $("#birthInfo"); var ele = $("#syntymäpäivä"); var pos = ele.offset( ); birthInfo.css(( ylhäällä: pos.top-3, vasen: pos.left+ele.width()+15 )); /i; if(!patt.test(ele.val())) ( jVal.errors = true; birthInfo.removeClass("correct").addClass("error").html("← kirjoita päivämäärä oikeassa muodossa ").show(); ele.removeClass("normaali").addClass("väärä"); ) else ( birthInfo.removeClass("error").addClass("oikea").html("√").show (); ele.removeClass("väärä").addClass("normaali" ) )

    Tarkistamme säännöllisen lausekkeen (rivi 14) avulla, että päivämäärä on muodossa 28.3.1987. Rivillä 16 tarkistamme, että käyttäjän syntymäaika vastaa säännöllisen lausekkeen mallia.

    Ja tietysti syntymäaikakenttään täytyy liittää change()-tapahtuma:

    $("#syntymäpäivä").change(jVal.syntymäpäivä);

    Nyt meillä on toinen toimiva jQuery-lomakkeen validointimenetelmä. Hyvää työtä!

    Kentän validoinnista tulee

    Kopioi jälleen fullName-menetelmä, nimeä se uudelleen sukupuoleksi ja tee seuraavat muutokset:

    • Nimeä kaikki nameInfo uudelleen sukupuolitiedoksi
    • Käytä #kokonimi-arvon sijasta ele-muuttujaa #nainen
    • Muuta genderInfo.css()-lausekkeen ylin muuttuja top: pos.top-10 ja vasemmalta vasemmalle: pos.left+ele.width()+60
    • If()-lauseemme pitäisi olla:
    if($("syöttö:tarkistettu").pituus === 0)
    • Viesti käyttäjälle on: oletko mies vai nainen?

    Tältä sukupuolimenetelmän pitäisi näyttää muutosten jälkeen:

    "sukupuoli" : funktio ()( $("body").append(""); var genderInfo = $("#genderInfo"); var ele = $("#nainen"); var pos = ele.offset( ); genderInfo.css(( ylhäällä: pos.top-10, vasen: pos.left+ele.width()+60 )); if($("input:checked"). pituus === 0) ( jVal .errors = true; genderInfo.removeClass("oikea").addClass("error").html("← oletko mies vai nainen?").show("ele.removeClass").addClass ("väärä"); else ( genderInfo..removeClass("error").addClass("correct").html("√").show(); ele.removeClass("wrong").addClass("normaali" ) ) )

    Rivillä 14 tarkistamme, kuinka monta radiovalitsinta on valittu. Jos 0, käyttäjä ei valinnut mitään, näytämme virheilmoituksen.

    Ja kuten aina, liitämme mukaan sukupuolimenetelmän radiopainikkeet:

    $("syöttö").muutos(jVal.sukupuoli);

    Validointitarkistukset - ajoneuvon omistus

    Kopioidaan nyt sukupuolimenetelmä ja nimetään se uudelleen ajoneuvoksi tekemällä seuraavat muutokset:

    • Korvaa kaikki genderInfo ajoneuvotiedolla
    • Kirjoita #nainen sijaan #ship for ele.
    • vehicleInfo.css()-lausekkeessa vasemman arvo tulee jättää: pos.left+ele.width()+40
    • If()-lauseemme pitäisi nyt olla:
    if($("syöttö:tarkistettu").pituus