Hallo iedereen,
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)
Mitchel schreef op 13.10.2008 11:04
... ik weet nog niet hoe ik het in een code block kan weergeven)


Pas je post even aan en gebruik [ignore]
 en 
[/ignore] tags om je code heen. Om php code zet je uiteraard dit:<?php en ?>Gebruik je knop om dit te doen.

SanThe.
Hey mensen, ik ben er al uit het probleem is opgelost!
Ik was:


if (error == 1)
{
return false;
}


vergeten bij de error controle.
Logisch dat ie hem dan verstuurd ook al is het formulier niet correct ingevuld.
Mitchel schreef op 13.10.2008 15:43
Hey mensen, ik ben er al uit het probleem is opgelost!
@ SanThe alsnog bedankt.

Plaats je oplossing dan ook effe.

Reageren