Toon posts:

[Javascript] Verplicht invoerveld *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een inschrijfformulier met verplichte velden. Alle velden werken dat die verplicht zijn om in voeren.

Alleen heb ik twee radio buttons voor 'geslacht' 'm' ,' v', Als ik nu in onderstaande script invul "geslacht" dan werkt het wel, maar al vul je vrouw in...dat zegt ie alsnog dat je niets heb ingevuld omdat de button voor man niet ingevuld is.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script language="JavaScript">
function formulierTest(formulierVeld){
//Geef hier de naam in van de verplichte velden, zoals in je formulier:
var verplichtVeld = Array("bedrijdsnaam", "achternaam", "geslacht", "woonplaats", "telefoon", "email" );
//Geef hier de naam in die moet verschijnen in het alert-venster:
var veldBeschrijving = Array("bedrijfsnaam", "achternaam", "geslacht", "woonplaats", "telefoon", "email");
//Geef hier het bericht in:
var alertBoodschap = "Gelieve volgende velden in te vullen:\n";
    
//Hieronder niets wijzigen:
var Boodschap = alertBoodschap.length;
for (var i = 0; i < verplichtVeld.length; i++){var obj = formulierVeld.elements[verplichtVeld[i]];if (obj){switch(obj.type){case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){alertBoodschap += "-" + veldBeschrijving[i] + "\n";}break;case "select-multiple":
if (obj.selectedIndex == -1){alertBoodschap += " - " + veldBeschrijving[i] + "\n";}break;
case "text":case "textarea":if (obj.value == "" || obj.value == null){alertBoodschap += " - " + veldBeschrijving[i] + "\n";}break;default:
if (obj.value == "" || obj.value == null){alertBoodschap += " - " + veldBeschrijving[i] + "\n";}}}}
if (alertBoodschap.length == Boodschap){return true;}else{alert(alertBoodschap);return false;}}
</script>



Hier zie je het formulieronderdeel voor het geslacht met radiobuttons
code:
1
2
3
<td>Geslacht*<br><input style="width:20px;" type="radio" name="geslacht" value="man">M
                            <input style="width:20px;" type="radio" name="geslacht" value="vrouw">V
</td>


Hoe kan ik dit het beste oplossen?

  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

Je kunt volgens mij het beste een nieuw case er bij maken voor het type radio en dan checken of er 1 gechecked is door middel van:

code:
1
2
3
4
5
6
7
function radioValue(elm) {
  for(var i = 0; i < elm.length; i++)
    if (elm[i].checked)
      return elm[i].value;
}

radioValue(obj);

Verwijderd

Topicstarter
hmm,...ja dat werk wel...enkel lopen die twee elkaar in de weg...dus dan moet ik voor die functie ook de var boodschap meegeven...Het is alleen een element..kan ik daar ook een object van maken?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op maandag 09 mei 2005 @ 13:21:
hmm,...ja dat werk wel...enkel lopen die twee elkaar in de weg...dus dan moet ik voor die functie ook de var boodschap meegeven...Het is alleen een element..kan ik daar ook een object van maken?
Je kan nu toch simpelweg die functie aanroepen in een if statement oid :?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Ik maak me nooit zo druk om radio buttons. Als er een lijst met opties is zet ik er standaard altijd eentje al aan. Zo hoef je ook niet met je script de radio buttons langs te gaan :)

Verwijderd

Topicstarter
Dat was een goede oplossing voor die radio buttons...Het werkt nu naar behoren.... ;)
Pagina: 1