Ik ben net nieuw in het gebruik van javascript en ik heb een klein probleem wat betreft het submitten van de formulier gegevens zodat ik deze met PHP weer kan gebruiken.
Ik maak op het moment gebruik van prototype.
Mijn code is als volgt:
<script src="prototype.js"></script>
<form id="test2">
<select name="choice" id="choice" onchange="return bla()">
<option value="0">Kies wat</option>
<option value="1">Formulier 1</option>
</select>
</form>
<form name="test_form" id="test" onsubmit="return test()">
<input type="text" name="username" id="naam" /><br />
<input type="password" name="password" id="wachtwoord"/><br />
<input type="submit" value="Log in" />
</form>
<script>
$('test').hide();
function bla()
{
if ($('choice').value == 1)
{
$('test').show();
}
}
function test()
{
var velden = new Array($('naam'), $('wachtwoord'));
var message = new Array("Geen gebruikersnaam geselecteerd!", "Geen wachtwoord opgegeven!");
var error = 0;
for (i in velden)
{
if (velden[i].value.empty())
{
velden[i].setStyle({backgroundColor: 'red'});
error = 1;
}
else
{
velden[i].setStyle({backgroundColor: 'green'});
}
if (error == 1)
{
alert("");
}
}
}
</script>
Het probleem is zolang ik het op "onclick" laat staan gaat de validatie goed, maar word het formulier niet verzonden (duh?).
Op het moment dat ik er onsubmit van maak in de formtag worden de velden inderdaad mooi gekleurd ook maar dit verdwijnt na een second of wat omdat hij refreshed.
Nou zorgt dit wel ervoor dat ik bijvoorbeeld PHP zou kunnen gebruiken voor het verder bewerken van de gegevens maar dit geeft de gebruiker niet de kans om zijn fouten te verbeteren.
Alvast bedankt voor de reacties!
(Dit is mijn eerste post, ik weet nog niet hoe ik het in een code block kan weergeven)
knop om dit te doen.