Overlappende Functies

  • Onderwerp starter Onderwerp starter SvU
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

SvU

Terugkerende gebruiker
Lid geworden
26 jan 2007
Berichten
1.534
Ja, daar heb ik last van, hehe.

Ik heb één functie die kijkt of de formuliervelden zijn ingevuld. Zo niet, maakt hij er 'Vul in' van. Nu heb ik een tweede functie, en die haalt 'Vul in' weg, onFocus. Die scripts werken apart perfect, maar samen gaat het nog niet helemaal.

Functie 1:
PHP:
function checkform ( form )
{

  if (form.voornaam.value == "") {
    form.voornaam.value="Vul in";
    form.voornaam.focus();
    return false ;
  }
  if (form.achternaam.value == "") {
    form.achternaam.value="Vul in";
    form.achternaam.focus();
    return false ;
  }
  return true ;
// En de rest.

Functie 2:
PHP:
  function maakLeeg(id)
{
    if (document.getElementById(id).value=="Vul in")
	document.getElementById(id).value = "";
}

Toepassing:


PHP:
//Functie 1:
<form action="" method="post" onsubmit="return checkform(this);">

//Functie 2:
	<tr>
		<td>Voornaam*:</td>
		<td><input name="voornaam" id="voornaam" size="30" onFocus="maakLeeg('voornaam');"><br>
		</td>
	</tr>
	<tr>
		<td>Achternaam*:</td>
		<td><input name="achternaam" id="achternaam" size="30" onFocus="maakLeeg('achternaam');"><br>
		</td>
	</tr>
	<tr>

Zoals gezegd werken ze afzonderlijk van elkaar perfect, maar ik moet de overlapping eruit krijgen. Ik ben overigens wel tot de conclusie gekomen dat de script kunnen samenwerken als ik de onFocus voor id X in de FORM-regel zet, maar dat schiet bij een langer formulier niet op.

Wat zijn de oplossingen?

Alvast bedankt!
 
Laatst bewerkt:
De "overlapping" zit hem in het volgende :
Als het niet ingevuld is, dan zet de eerste functie er "vul in" in, maar onmiddelijk doet ie focus() van het gecontroleerde veld, waardoor de tweede functie onmiddelijk uitgevoerd wordt.
Het werkt dus wel perfect samen, maar doordat de tweede functie het veld weer leegmaakt, zie je niet alles wat de eerste functie doet.
Wat je zou kunnen doen, is selecteren inplaats van leegmaken bij focus.

Greetz : Jer:cool:en.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan