[JavaScript] Checken op dubbele values

Pagina: 1
Acties:

  • Wao
  • Registratie: Juni 1999
  • Laatst online: 03-12-2024
Hallo,

ik ben bezig met een formuliertje waarin elf dezelfde dropdown menu's staan met een paar spelernamen (het is om een opstelling te maken voor iets met voetbal). Hoe kan ik, wanneer er gesubmit wordt, met JavaScript controleren of er bij twee dropdowns dezelfde speler (en dus dezelfde value) is ingevuld (want dat kan natuurlijk nie he :P).

Ik ben niet zo'n held met JavaScript en kon ook niet echt iets vergelijkends vinden, dus _/-\o_ jullie _/-\o_ zijn m'n laatste hoop.

Mvg,
Wouter

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

loopje
For (var y=1; y <= 10; y++)
For (var x=y; x <= 11; x++)
if (document.all.select[x].value == document.all.select[y].value) then DUBBELE!! :)

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • Wao
  • Registratie: Juni 1999
  • Laatst online: 03-12-2024
Bedankt voor je snelle antwoord, nu had ik nog een klein vraagje, select[x], is dat dan de naam van de select?

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Dat werkt trouwesn neit.
Je moet eigelijk al die 11 dingen zo`n naam geven
Speler1
Speler2 etc.
Dan moet je dit doen
JavaScript:
1
2
3
For (var y=1; y <= 10; y++)
For (var x=y; x <= 11; x++)
if (document.all["Speler" + x].value == document.all["Speler" + x]) then DUBBELE!! 

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • Wao
  • Registratie: Juni 1999
  • Laatst online: 03-12-2024
Klopt het dat bij de ene wel .value erachter staat en bij de ander niet?

  • Wao
  • Registratie: Juni 1999
  • Laatst online: 03-12-2024
Het lukt me niet echt :( zou je misschien wat preciezer kunnen zijn?

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Er moet achter beide .value staan ja
Ik test het wel ff

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Zo, dit werkt hier wel :)
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<html>
<head><title></title></head>
<script>
function checkit()
{
  var totalitems = 4; dubbel = false;
  for (var y=1; y <= totalitems - 1; y++)
  {
    for (var x=y + 1; x <= totalitems; x++)
    {
      if (document.all["Speler" + x].options[document.all["Speler" + x].selectedIndex].value == document.all["Speler" + y].options[document.all["Speler" + y].selectedIndex].value) { alert("Dubbele!"); dubbel = true; }
      if (dubbel) break;
    }
    if (dubbel) break;
  }
}
</script>
<body>
<select ID=Speler1>
  <option value="sp1">sp1
  <option value="sp2">sp2
  <option value="sp3">sp3
  <option value="sp4">sp4
</select>
<select ID=Speler2>
  <option value="sp1">sp1
  <option value="sp2">sp2
  <option value="sp3">sp3
  <option value="sp4">sp4
</select>
<select ID=Speler3>
  <option value="sp1">sp1
  <option value="sp2">sp2
  <option value="sp3">sp3
  <option value="sp4">sp4
</select>
<select ID=Speler4>
  <option value="sp1">sp1
  <option value="sp2">sp2
  <option value="sp3">sp3
  <option value="sp4">sp4
</select>
<button onclick="checkit()">Check!</button>
</body>
</html>

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • Wao
  • Registratie: Juni 1999
  • Laatst online: 03-12-2024
Bedankt, ik kan weer aan de slag!

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 21:42

Pelle

🚴‍♂️

Gaat alleen niet in Netscape en Mozilla werken dit. :{

Gebruik document.forms["formNaam"].elements["selectNaam"] en het komt dik in orde.

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Ok klein foutje :)
Maar ik stop liever met dat domme netscape te ondersteunen

als iedereen dat nou doet, is dat probleem zo uit de wereld...

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:07

crisp

Devver

Pixelated

XLerator schreef op 30 augustus 2002 @ 17:56:
Ok klein foutje :)
Maar ik stop liever met dat domme netscape te ondersteunen

als iedereen dat nou doet, is dat probleem zo uit de wereld...
Ik hoop dat je hiermee doelt op NS4, want om het mozilla.org project nou dom te gaan noemen lijkt me niet verstandig op een forum waar nogal wat evangelisten rondlopen ;)

Intentionally left blank


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Ik bedoel idd netscape, maar haal dat 4 maar weg.
Alle netscapes moeten gewoon verdwijnen.

Maar dat stond er ook al he :)

[ Voor 0% gewijzigd door Guillome op 30-08-2002 21:20 . Reden: Maar dat stond er ook al he :) ]

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

als je document.all gebruikt om met forms te werken kan je niet Netscape de schuld geven dat het niet werkt. Qua forms werken zowel IE, NS4 en Moz precies hetzelfde. Verder vind ik het als bijna-evangelist inderdaad lasterlijk om met een simpel gebaar alle nieuwe netscape/moz versies van de hand te doen ;) Mozilla is op veel punten stukken beter dan IE. :D Qua scripting zijn er ueberhaupt al amper verschillen.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:07

crisp

Devver

Pixelated

XLerator schreef op 30 augustus 2002 @ 21:19:
Ik bedoel idd netscape, maar haal dat 4 maar weg.
Alle netscapes moeten gewoon verdwijnen.

Maar dat stond er ook al he :)
Foei!
Clay schreef op 31 augustus 2002 @ 12:37:
als je document.all gebruikt om met forms te werken kan je niet Netscape de schuld geven dat het niet werkt. Qua forms werken zowel IE, NS4 en Moz precies hetzelfde. Verder vind ik het als bijna-evangelist inderdaad lasterlijk om met een simpel gebaar alle nieuwe netscape/moz versies van de hand te doen ;) Mozilla is op veel punten stukken beter dan IE. :D Qua scripting zijn er ueberhaupt al amper verschillen.
Inderdaad, daarbij is document.all een overblijfsel van IE4 wat eigenlijk allang verbannen zou moeten zijn (komt ook in geen enkele standaard terug, behalve in die van Microsoft die het eigenlijk alleen nog maar ten behoeve van backwards-compatibility blijft ondersteunen).

Dat je het document.layers model niet ondersteund kan ik inkomen, doe ik ook niet (meer), maar voor scripting zou ik in de eerste plaats toch het DOM object model gebruiken (elementen aanspreken met document.getElementById bijvoorbeeld) aangezien dat ten eerste sneller is, en ten tweede een standaard is die ook in andere browsers geimplementeerd is.

Alleen ter ondersteuning van IE4 zou ik nog document.all gebruiken...

Intentionally left blank


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Foei? Wat dan?

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:07

crisp

Devver

Pixelated

Nou ok, laten we Microsofts implementatie van de HTML, DOM, XML, CSS en alle andere standaarden eens verheffen tot algemene standaard. 1 bedrijf dat bepaald wat webbrowsers wel of niet moeten kunnen. Het hele internet confirmeerd zich daaraan, zodanig dat uiteindelijk webpagina's alleen nog maar te bekijken zijn met Microsoft Internet Explorer, of met browsers die IE na-apen.

W3C kan dan wel opdoeken, want er is geen hond die het belang meer inziet van een wereldwijde standaard; Microsoft weet het toch beter, en is alleenheerser.

Laten we maar met z'n allen gewoon doen alsof Microsoft het het beste weet, en al onze websites daarop aanpassen; who cares about standards? Zolang IE het maar goed renderd kunnen we aanklooien wat we willen, wat wil je nog meer?

Wie heeft er hier boter op zijn hoofd? ;)

Intentionally left blank


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Waarom zou je iets willen veranderen als het perfect werkt?

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Wat werkt er zo perfect? Ik krijg nog steeds 'aaaaarrgggghh' gedachten, elke keer als ik websites van anderen zo moet aanpassen dat ze in alle browsers werken :)

Als ze nou is allemaal w3c compliant waren, en alle browsers doen dat, nix meer en nix minder, zou ik heeel blij worden :)

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
XLerator schreef op 31 augustus 2002 @ 21:59:
Waarom zou je iets willen veranderen als het perfect werkt?
Omdat het niet volgens een standaard is. Waarom denk je dat iedereen z'n code probeert om te gooien naar XHTML of XML? Omdat dat de toekomst is. In de toekomst kunnen parsers niet meer overweg met een <img> tag zonder af te sluiten. Nu werkt het nog ja, en goed ook. Maar denk je echt dat er geen vooruitgang in zit? En dat je dan je moet aanpassen aan nieuwe standaarden?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:07

crisp

Devver

Pixelated

XLerator schreef op 31 augustus 2002 @ 21:59:
Waarom zou je iets willen veranderen als het perfect werkt?
Misschien omdat het niet perfect is?
De 'urge' voor dynamische content neemt steeds meer toe; scripting languages ism het DOM model kunnen hele leuke dingen doen met de content zonder dat dat extra bandbreedte vraagt. Dit wordt steeds verder uitgebreidt, en dus moeten browsers zich aanpassen aan de behoefte.

Het idee dat content gescheiden dient te zijn van opmaak en styling is niet nieuw in de wereld van designers, maar wel relatief nieuw op het internet. Daar zijn standaarden voor nodig om alles in goede banen te kunnen leiden.

Op dit moment modderd elke n00b maar aan, en sleept en pleurt maar wat in frontpage. Ja, IE laat het goed zien; maar sinds wanneer is IE een meetstaf?
Da's net zoiets als wanneer je het antwoord: 'ongeveer 13', goedrekend op de vraag hoeveel 3 maal 4 is.

Intentionally left blank

Pagina: 1