Controles in JavaScript

Status
Niet open voor verdere reacties.

Rooie Darp

Gebruiker
Lid geworden
25 mrt 2007
Berichten
265
Ik heb deze code:
Code:
<script Language="JavaScript">
<!-- Begin
function Form1_Validator(theForm)
{
var alertsay = ""; // define for long lines
Code:
(Deze code heb ik toegevoegd:)
{
    var pattern = /(\w)(\w*)/; // a letter, and then one, none or more letters

    var a = document.form1.Naam.value.split(/\s+/g); // split the sentence into an array of words

    for (i = 0 ; i < a.length ; i ++ ) {
        var parts = a[i].match(pattern); // just a temp variable to store the fragments in.

        var firstLetter = parts[1].toUpperCase();
        var restOfWord = parts[2].toLowerCase();

        a[i] = firstLetter + restOfWord; // re-assign it back to the array and move on
    }

    document.form1.Naam.value = a.join(' '); // join it back together
}
Code:
if (theForm.Voornaam.value == "")
{
alert("Je moet de voornaam van de nieuwe speler invullen.");
theForm.Voornaam.focus();
return (false);
}


if (theForm.captain.value == "")
{
alert("Je moet aangeven of deze speler captain is of niet!.");
theForm.captain.focus();
return (false);
}

if (theForm.datum_geb_dag.value == "Dag" )
{
alert("Je moet de geboortedag van de speler invullen.");
theForm.datum_geb_dag.focus();
return (false);
}

if (theForm.datum_geb_maand.value == "Maand" )
{
alert("Je moet de maand waarin de speler is geboren invullen.");
theForm.datum_geb_maand.focus();
return (false);
}

if (theForm.datum_geb_jaar.value == "Jaar" )
{
alert("Je moet het geboortejaar van de speler invullen.");
theForm.datum_geb_jaar.focus();
return (false);
}
}
// End --> 
</script>


De middelste code heb ik toegevoegd aan dit script maar nu heb ik 2 problemen waar ik niet uitkom:
Het aanpassen van de hoofdletter gebeurt nu alleen in het veld "Naam" maar ik wil dat dit ook op de velden ''Voornaam'', ''Adres'' en ''Plaats'' gebeurt.

Hij controleert de velden niet meer (goed) Bv Captain werkt wel maar de rest niet.
Wie kan me hier bij helpen?

Alvast bedankt

Gerrit
 
Je past toch de code alleen toe op de naam? Je kunt een aparte functie maken en die toepassen op de andere onderdelen. De code ziet er ook wat omslachtig uit. Volgens mij kun je met een simpele .substring constructie dit ook bereiken zonder zware regex functies los te laten
 
Ik heb van JavaScript niet zoveel kaas gegeten.
Eigenlijk is het simpel, ik heb een formulier met een 8tal velden waarvan de invoer voor 'Voornaam', 'Naam', 'Adres' en 'Plaats' altijd moet beginnen met een hoofdletter, en dan het liefst dat het vanzelf aangepast wordt.
En velden 'Voonaam', 'Captain', 'datum_geb_maand' , 'datum_geb_dag' en 'datum_geb_dag' gecontroleerd moeten worden of er iets staat of een getal.
 
Ik heb al iets gevonden:


Code:
<script language="JavaScript1.2"><!--
function Capital(value) {
  if (value != "") {
    var firstLetter = value.substring(0, 1).toUpperCase();
    var restOfWord = value.substring(1, value.length).toLowerCase();
    value = firstLetter + restOfWord;
  }

  return value;
}
//--></script>

en dan bij de velden die aangepast moeten worden:

Code:
<form name="form1">
<input type="text" size="20" name="Naam" value="" maxlength="25" onBlur="this.value=Capital(this.value);">
</form>

En dat laatste doe ik bij elk veld, werk goed :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan