Toon posts:

[javascript] waarom werkt dit niet?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallow,

ik ben een functie aan het maken die test of de eerste letter van een invulveld een hoofdletter is, zo niet moet hij er een hoofdletter van maken, alleen werkt het niet echt:

function testeerstehoofdletter(veld){
var eersteletter=veld.value.charAt(0);
if((eersteletter==eersteletter.toLowerCase())&&(veld.value!="")){
eersteletter = eersteletter.toUpperCase();
hoofdletter beginnen!");
}
}

Verwijderd

als ik het met mijn kleine beetje javascript verstand bekijk lijkt het me dat de fout in de IF zit...
if((eersteletter==eersteletter.toLowerCase())&&(veld.value!="")){
moet dat in javascript ook niet met equals? dus
if((eersteletter.equals(eersteletter.toLowerCase()))&&(veld.value!="")){

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

P&W -> W&G

Verwijderd

Op donderdag 24 januari 2002 10:21 schreef jeroen80 het volgende:
hoofdletter beginnen!");
wat doet dat regeltje daar dan? moet die nie weg?

Verwijderd

Zo te zien werkt het wel (al is het wat omslachtig). Wat je waarschijnlijk wil is dat je de originele string (de value van de textbox) aanpast. Dat doet ie nu niet.
code:
1
var eersteletter=veld.value.charAt(0);

Je creeert nu niet een pointer naar het eerste karakter van dat veld, maar een variabele met die waarde. Je moet dus zorgen dat je die weer terugplaatst in de originele string.

Makkelijker is het om reguliere expressies te gebruiken (iets waar ik zelf weinig verstand van heb). Ik weet zeker dat het niet moeilijk is om er eentje te vinden die dit voor je doet.

Verwijderd

Je moet de value ook terug zetten in het veld.
veld.value = eersteletter + de rest van het veld;
(weetniemeer hoe substring werkt in javascript)

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 20:44

RM-rf

1 2 3 4 5 7 6 8 9

code:
1
2
3
4
5
6
7
8
9
function testeerstehoofdletter(veld)
{
   var eersteletter=veld.value.charAt(0);
   if(eersteletter == eersteletter.toLowerCase() && veld.value != "")
    {
     eersteletter = eersteletter.toUpperCase();
hoofdletter beginnen!"); // <-- ? wat is dat?
   }
}

ik vermoed dat je ergens met een ongemerkte actie een gedeelte vn je eigen script hebt gewist, dat stuk 'hoofdletter beginnen!");' stond waarschijnlijk in een alert.

ook hoort daar een regel als:
code:
1
veld.value = eersteletter+veld.value.substring(1)

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

ik vraag me af waar alle checks goed voor zijn?
simpelweg het eerste karakter omzetten en de rest erachter zetten is voldoende.
bjiv:
code:
1
2
3
4
5
6
7
<script language="javascript" type="text/javascript">
function firstToUpper(oInput)
{
    var sTekst = oInput.value;
    oInput.value = sTekst.charAt(0).toUpperCase() + sTekst.substr(1);
}
</script>

Today's subliminal thought is:


Verwijderd

[b]Op donderdag 24 januari 2002 10:54 schreef RM-rf
code:
1
veld.value = eersteletter+veld.value.substring(1)
Da bedoel ik dus :D
Pagina: 1