Hoe kan ik een HTML formulier controleren, met javascript.

Ik wil dat als er een veld niet goed is ingevuld, dat dan een alert vershijnt met Je hebt deze velden niet good ingevuld:
- veld 1
- Veld 2
ect...

heeft iemand een javascript?
google is wat met validate form javascript of form validation javascript je vindt er dan genoeg
Ik heb wel een script voor je, maar dat werkt anders.
Als iemand namelijk elke keer een alert voor zijn kiezen krijgt als een veld niet klopt, dan is dat nogal irritant als je een wat groter formulier hebt.

Ik los dat op door een bericht NAAST het niet correct ingevulde veld te laten verschijnen.

Klik hier voor een voorbeeld

Let alleen op dat je het formulier niet echt verstuurt, want dan krijgt een van mijn klanten een onzin-aanmelding ;)

Als je het een goed systeem vindt, kan ik je uitleggen hoe je het moet maken.

Hoewel dit niet echt een JavaScript forum is, heb je in PHP zo vaak met formulieren te maken dat je haast niet om JavaScript heen komt.
Het groote nadeel van javascript hiervoor gebruiken , is dat sommige mensen dat hebben uitgeschakeld... ( 't is beter dit met php te doen)

Jan Koehoorn <--

Dat is een mooie manier , helaas is dat voor mij persoonlijk geen goede manier vanwege het feit dat ik een template systeem heb ( en ik dus niet weet op welke plek ik de errors moet echo'en .. aangezien gebruikers de velden kunnen verplaatsen etc..
nu zit ik te denken aan "1" error popup als er ( 1 of meerdere) velden niet goed zijn ingevuld .. maar dan zit ik dus weer vast aan javascript :D , iemand hiervoor ook een oplossing? ( of kom ik er niet onderuit :P)
Okee, dan zou ik gewoon via PHP de lege velden verzamelen. Het nadeel daarvan is wel dat het checken dus server-side gebeurt, maar goed:

<?php
if (isset ($_POST['verzenden'])) {
foreach ($_POST as $key => $value) {
if (!isset ($key) || $value = '') {
echo 'U moet ALLE velden invullen';
}
}
}
?>

Bij dit voorbeeld ga ik er van uit dat je submit-button als name "verzenden" heeft.
Dan zou ik een andere server gaan zoeken :P
want met javascript gaat dat nooit mooi werken
Ik heb nu dit script, maar hij doet het niet:

<script language="JavaScript"><!--

function checkThisForm() {
var error = 0;
fields = new Array("Naam","Gebuikersnaam","E-Mail Adres");
for(i=0;i<fields.length;i++) {
var thisField = fields[i];
if(document.forms['form'].elements[thisField].value == "")
var error = 1;

}

if(document.forms['form'].elements[''].selectedIndex == 0)
var error = 1;

if(error == 1)
alert("Niet alle verplichte velden zijn ingevuld.");
else
document.forms['form'].submit();

}
function ShowToelichting(obj)
{
if (obj.selectedIndex == 5 ||obj.selectedIndex == 6 || obj.selectedIndex == 7)
{
trToelichting.style.visibility = "visible";
}
else
{
trToelichting.style.visibility = "hidden";
}
}
// --></script>

en de code van de send button is:

<input
type="submit" name="Verzenden"
value="Verzenden"
onclick="javascript:checkThisForm();">

weet iemand wat er mis is???
Haha, evengoed toch maar even met JavaScript:

<script>

var form = new GetObj ('formulier_naam');
form.obj.onsubmit = function () {return checkform ();};


function getObj (name) // met dank aan Peter Paul Koch
{
if (document.getElementById) {
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
}
else if (document.all) {
this.obj = document.all[name];
this.style = document.all[name].style;
}
else if (document.layers) {
this.obj = document.layers[name];
this.style = document.layers[name];
}
}

function checkform () {

var inputs = document.getElementsByTagName ('input');
var n = inputs.length;

for (i = 0; i < n; i++) {
if (inputs[i].value == '') {
alert ("Het veld " + inputs[i].id + "is niet ingevuld\n");
return false;
}
}

return true;
}

</script>
Thomas, in jouw codevoorbeeld moet er staan:

onclick="return checkThisForm();">

en dan moet je zorgen dat checkThisForm true of false retourneert, al naar gelang.

Reageren