Archief - JS: formulier validatie

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Jerre1987

Legacy Member
Ik heb een probleempje bij het valideren van mijn formulier en ik geraak er nie uit. Als ik niets invul en op verzenden klik, geeft hij de melding naam is niet ingevuld ( OK, goed ), en dan een melding om het bericht te verzenden.
(http://users.telenet.be/jeroenderoo/PUKKELPOP)

function correctie(form) {
var strNaam = form.naam.value;
var strAdres = form.email.value;
var strBericht = form.bericht.value;
var verzenden;
verzenden=1;
//***************************************************************
// Naam correctie
//***************************************************************
if (strNaam=="")
{
verzenden=0;
alert("Naam is niet ingevuld.");
naamveld.select();
}
if (!(strNaam.match(/[A-Za-z]/)))
{
verzenden=0;
alert("Gebruik enkel hoofd- en kleine letters!");
naamveld.select();
}
//***************************************************************
// emailadres correctie
//***************************************************************
if (strAdres=="")
{
verzenden=0;
alert("Emailadres is niet ingevuld.");
emailveld.select();
}
if (!(strAdres.match(/[A-Za-z0-9._-]+@[A-Za-z0-9._-]+\.[A-Za-z]{2,4}/)))
{
verzenden=0;
alert("Emailadres is niet correct!");
emailveld.select();
}
if (strAdres.search(/[\(\)\<\>\[\]\,\;\:\\\/\"]/))
{
verzenden=0;
alert("Verboden karakter gebruikt.");
emailveld.select();
}
//***************************************************************
// bericht correctie
//***************************************************************
if (strBericht=="")
{
verzenden=0;
alert("Bericht is niet ingevuld.");
berichtveld.select();
}
//***************************************************************
// Juist ingevuld
//***************************************************************
if (verzenden==1)
{
alert("Wij danken je voor je feedback.");
return true;
}
return false;
}
*******************HTML***********************
<form method="POST" action="mailto:[email protected]" onsubmit="return correctie(this)">
Naam:<br/>
<input name="naam" type="text" class="naamveld" size="30"/><br/>
E-mail adres:<br/>
<input name="email" type="text" class="naamveld" size="30"/><br/>
Bericht:<br/>
<textarea name="bericht" cols="28" rows="4" class="naamveld"></textarea>&nbsp;&nbsp;&nbsp;
<input type="submit" class="naamveld" value="Verzend"/>
</form>

RpR

Legacy Member
Verander uw submit button in dit:
<input type="button" onclick="correctie(naamform)>" value="Verzend"/>

Uw form:
<form method="POST" action="mailto:[email protected]" name="naamform">

en gewoon checken of verzenden = 1 en dan naamform.submit() en anders niets :)

orez

Legacy Member
gebruik gaan name="" in uw form element --> zal niet door validator raken, name attribuut is niet allowed, gebruik in de plaats id="formnaam"

Dan voor uw javascript: document.getElementById('formnaam').naam.value

Jerre1987

Legacy Member
heb dat verandert maar blijft nog steeds verzenden als je niets of iets verkeerd invult.

Ik snap er niets van eig, heb mijn vorige code ( enkel correctie of het tekstvak niet leeg is ) uitgebreid en daar werkte het wel. Dus enkel verzenden bij juiste invoer.

dJeez

Legacy Member
Tjah, de beginselen van debugging : gebruik FF en kijk eens wat er in de JavaScript console terechtkomt. Dan zie je direct wat je fout doet (met name : naamveld, emailveld en berichtveld bestaan niet). Het script komt dus totaal niet tot aan de return false, waardoor de submit gewoon doorgaat (dat is zo by design in JavaScript - niet proper, maar je had het nog kunnen opvangen door een try ... catch).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan