[JS] Submitbutton wordt niet op het juiste moment disabled

Pagina: 1
Acties:

  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02-2025
Ik heb een pagina met 4 tekstvelden.
Ik wil dat de submit button disabled wordt dan en slechts dan als:
- spelerstapel1 > stapel1; of
- spelerstapel2 > stapel2; of
- spelerstapel1 < 0; of
- spelerstapel2 < 0; or
- spelerstapel1 == 0 && spelerstapel1 == 0; of
- spelerstapel1 >= 0 && spelerstapel2 >= 0 && spelerstapel1 != spelerstapel2

Dit heb ik naar mijn idee wel redelijk vertaald naar javascript, maar toch werkt het niet.

code:
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
<html>
<head>
<title></title>
<script>
function toggleSubmitButton(input) {
    var myform = document.game
    myform.submitButton.disabled = (myform.spelerstapel1.value >= myform.stapel1.value || 
    myform.spelerstapel2.value >= myform.stapel2.value || myform.spelerstapel1.value < 0 ||     
    myform.spelerstapel2.value < 0 || myform.spelerstapel1.value == myform.spelerstapel2.value == 0 || 
    myform.spelerstapel1.value > 0 && myform.spelerstapel2.value > 0 && myform.spelerstapel1.value != myform.spelerstapel2.value)
}
</script>
</head>

<body bgcolor="#b55720">

<form name="game" action="game.php">
<input type="text" name="stapel1" size="2" value="34"><br>
<input type="text" name="stapel2" size="2" value="19"><br><br>

<input type="text" name="spelerstapel1" size="2" onkeyup="toggleSubmitButton(this);"><br>
<input type="text" name="spelerstapel2" size="2" onkeyup="toggleSubmitButton(this);"><br>
<input type="submit" name="submitButton">

</form>
</body>
</html>

Before me there was many, after me there will be none. I'm the one!


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:01

crisp

Devver

Pixelated

ik denk dat je sowieso even haakjes om je laatste conditie moet zetten; verder zou ik het andersom aanpakken: de submit button default disabled maken, en pas enablen als aan bepaalde condities voldaan is. Bedenk daarbij ook dat niet-numerieke waarden in je text-boxen natuurlijk ook niet geldig zijn.

Intentionally left blank


Verwijderd

De values van inputs zijn altijd strings.
JavaScript:
1
2
var sVal = document.getElementById('myinput').value;
var iVal = parseInt(sVal, 10);