Moderator |
|
- syntaxfout: regel 8: top:pos.top 3
- syntaxfout: regel 11: if(ele.val().length<6{
- sematische fout: regel 3: var nameInfo=$('nameInfo'); moet zijn #nameInfo (het is een id)
- semantische fout: de nameInfo div maak je pas aan nadat je CSS-properties in probeert te stellen, dat zal niet werken
de .change() methode wordt overigens pas getriggerd als het input-veld de focus verliest. Waarschijnlijk wil je zoiets.
En als je tot slot functies gebruikt voor validatie wil je waarschijnlijk niet één-inputveld-per-functie hardcoden, dat lijkt mij nogal suf.
In plaats hiervan kun je beter een functie hebben met een aantal parameters:
- de veldnaam,
- de validatieregels die je wilt toepassen op dit veld
En dan zul je nog te allen tijde aan de serverzijde de verstuurde formuliergegevens moeten controleren omdat je de jQuery controles kunt bypassen door JavaScript simpelweg uit te zetten.
EDIT: Voor dit soort zaken kan het handig zijn om een soort van webdeveloper plugin te hebben. Ik gebruik meestal Firefox voor ontwikkeling in combinatie met onder andere de addon Web Developer (1.2.5). Deze geeft mij terugkoppeling over HTML/CSS/JavaScript fouten.
EDIT: Je controle accepteert ook spaties, waarschijnlijk moet je dit aanscherpen met de controle of een gebruikersnaam enkel bestaat uit alfanumerieke karakters, mogelijk uitgebreid met een aantal symbolen.
Wat is er trouwens op tegen op dit aan de serverzijde te controleren en indien de invoer niet goed is dat je deze terugplaatst in het formulier met een foutmelding? Welke serverside taal gebruik je voor de verwerking van het formulier? Je zult trouwens waarschijnlijk ook moeten controleren of de gebruikersnaam nog niet bestaat in je database (of hoe je dit ook hebt opgelost). Dit zou je ook kunnen doen met een AJAX-request ofzo... |