Mailform invoervelden combi onblu en onfocus

Status
Niet open voor verdere reacties.

BJMarc

Gebruiker
Lid geworden
23 mrt 2010
Berichten
33
Het volgende stukje code heb ik in een mailform staan.

HTML:
input type="text" name="naam" class="text" value="Naam" style="color:#666" onFocus="if(this.value=='Naam')this.value=''; if(this.value=='Naam')this.style.color='#666' " onBlur="if(this.value=='')this.value='Naam';  if(this.value~='Naam')this.style.color='#000' " />

Het is de bedoeling dat allereerst de standaard waarden worden ingevuld in de kleur #666. Dit werkt. En ook worden de waarden weer hersteld als het veld wordt leeg gelaten ook weer in kleur #666.

Wanneer er iets ingevuld wordt moet de kleur wijzigen naar #000. En ook deze kleur behouden nadat de gebruiker een veld verder gaat hetzij via een tab of muisklik.

De waarde ~= lijkt niet te werken, wat doe ik fout?

Het kan overigens zijn dat de kleuren nu niet kloppen, maar het gaat om de werking.

Waarschijnlijk heb ik me blind gestaart en is de oplossing simpel, maar graag jullie hulp.

Wanneer er nog tips zijn voor het gebruik van een "gratis" mailformscript voor de controle en verwerking naar een email adres zijn deze van harte welkom.
Ik heb al heel wat afgezocht en broncodes van andere sites bekeken, maar ik wil graag dat de gegevens volledig (waar mogelijk) variabel zijn en het mail adres niet gelinkt wordt aan een account. Puur vanwege het feit dat de website voor iemand anders is en ik daar geen gegevens van wil invullen op de "gevonden" mailform handlers.

Mocht er iemand zijn die een (aanpasbaar) script heeft liggen voor de afhandeling van zo'n actie dan is dat natuurlijk ook heel welkom. Eventueel zelfs ( bij getest en werkend script ) tegen redelijke betaling.

Alvast bedankt voor de hulp.
 
Dat was inderdaad de bedoeling.

En de oplossing werkt. (deels)

Wanneer nu een naam ingevoerd wordt veranderd de kleur (#666 -> #000) van de letters pas als het veld verlaten wordt, ik zou graag zien dat dat gelijk gebeurt.

En wanneer de naam vervolgens wordt weggelaten, zet het script keurig 'Naam' terug maar ook in de gekleurde (#000) vorm. Ik zou deze graag terug zien kleuren in de originele kleur. (#666)
 
Dat de kleur pas verandert als het veld verlaten wordt klopt. Onblur wordt pas op dat moment uitgevoerd. Als je wilt dat de kleur meteen verandert kan je beter onkeydown of onkeyup gebruiken.

Dat 'Naam' niet in de kleur #666 wordt teruggezet klopt ook. Je verandert de style namelijk niet als je 'Naam' terug zet. Als je het zo doet wel:
[js]onBlur="if(this.value==''){this.value='Naam';this.style.color='#666';} if(this.value!='Naam')this.style.color='#000'[/js]

Overigens zou ik i.p.v. controleren of de value gelijk is aan 'Naam' controleren of de value gelijk is aan de defaultValue. Dat is makkelijker als je later besluit de defaultvalue ('Naam' in dit geval) te veranderen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan