tags:

views:

217

answers:

1

Hello all, I'm trying to learn javascript, but my knowledge doesn't cover what I want, so I could use some help. I'm trying to make a lotto check form for our family.

What it as to do is check the numbers(B) with numbers(A)

<SCRIPT TYPE="TEXT/JAVASCRIPT">

function checkLotto() {
var goed = frmTrekking.EersteGetal.value
var fout = frmGetallen.Opgegeven_1.value

if (frmTrekking.EersteGetal.value == frmGetallen.Opgegeven_1.value) {
document.getElementById('boldStuff').style.color='#00ff00';
document.getElementById('boldStuff').innerHTML = goed;
 }

 else {
document.getElementById('boldStuff').style.color='#ff0000';
document.getElementById('boldStuff').innerHTML = fout;
  }
  }

</script>


<body onload="checkLotto();">
<form id="frmGetallen" name="frmGetallen" method="post" action="">
  <table width="100%" border="0" cellspacing="5" cellpadding="5">
    <tr>
      <td width="9%"><strong>A</strong></td>
      <td width="6%"><strong>Naam</strong></td>
      <td width="10%"><strong>1</strong></td>
      <td width="10%"><strong>2</strong></td>
      <td width="10%"><strong>3</strong></td>
      <td width="10%"><strong>4</strong></td>
      <td width="10%"><strong>5</strong></td>
      <td width="10%"><strong>6</strong></td>
      <td width="10%"><strong>7</strong></td>
      <td width="10%"><strong>8</strong></td>
      <td width="10%"><strong>9</strong></td>
      <td width="10%"><strong>10</strong></td>
    </tr>
    <tr>
      <td><strong>1</strong></td>
      <td><strong>Joop</strong></td>
      <td><b id='boldStuff'><input name="Opgegeven_1" type="hidden" id="Opgegeven_1" value="6" size="5" /> </b></td>
      <td><b id='boldStuff'><input name="Opgegeven_2" type="hidden" id="Opgegeven_2" value="8" size="5" /></b></td>
      <td><b id='boldStuff'><input name="Opgegeven_3" type="hidden" id="Opgegeven_3" value="16" size="5" /></b></td>
      <td><b id='boldStuff'><input name="Opgegeven_4" type="hidden" id="Opgegeven_4" value="18" size="5" /></b></td>
      <td><b id='boldStuff'><input name="Opgegeven_5" type="hidden" id="Opgegeven_5" value="26" size="5" /></b></td>
      <td><b id='boldStuff'><input name="Opgegeven_6" type="hidden" id="Opgegeven_6" value="28" size="5" /></b></td>
      <td><b id='boldStuff'><input name="Opgegeven_7" type="hidden" id="Opgegeven_7" value="32" size="5" /></b></td>
      <td><b id='boldStuff'><input name="Opgegeven_8" type="hidden" id="Opgegeven_8" value="36" size="5" /></b></td>
      <td><b id='boldStuff'><input name="Opgegeven_9" type="hidden" id="Opgegeven_9" value="38" size="5" /></b></td>
      <td><b id='boldStuff'><input name="Opgegeven_10" type="hidden" id="Opgegeven_10" value="41" size="5" /></b></td>
    </tr>

  </table>
</form>
<form id="frmTrekking" name="frmTrekking" method="post" action="">
  <label></label>
  <table width="58%" border="0" cellspacing="5" cellpadding="5">
    <tr>
      <td width="7%"><strong>B</strong></td>
      <td width="10%"><input name="EersteGetal" type="text" id="EersteGetal" value="6" size="5" /></td>
      <td width="10%"><input name="TweedeGetal" type="text" id="TweedeGetal" value="12" size="5" /></td>
      <td width="10%"><input name="DerdeGetal" type="text" id="DerdeGetal" value="20" size="5" /></td>
      <td width="10%"><input name="VierdeGetal" type="text" id="VierdeGetal" value="32" size="5" /></td>
      <td width="10%"><input name="VijfdeGetal" type="text" id="VijfdeGetal" value="5" size="5" /></td>
      <td width="10%"><input name="ZesdeGetal" type="text" id="ZesdeGetal" value="15" size="5" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>

What I have now is the check between 2 numbers, I need to have it checked all, so all the B numbers have to be checked with all the A numbers. I think i'll need a sort of loop in a array, but I really don't know how to do this. Can somebody help me with this please?

A: 

I'm assuming that you want the user to type in a series of numbers, and then compare them against another set to see if they match.

The process will be something like this:

  1. Get the numbers from the inputs on the page, store into an array.
  2. Compare that array with another array to see if all the members are the same.

There are a multitude of ways to do step number one. The simplest way (definitely not the best way, but the easiest) would be something like this:

var myNumbers = [];
myNumbers.push(document.getElementById('firstInput'));
myNumbers.push(document.getElementById('secondInput'));
myNumbers.push(document.getElementById('thirdInput'));
myNumbers.push(document.getElementById('fourthInput'));

Then to compare, put the "correct" numbers into an array as well, sort them and then compare each member:

var correctNumbers = [5,3,7,1];
correctNumbers.sort();
myNumbers.sort();

for (var i = 0, l = correctNumbers; i < l; ++i) {
    if (correctNumbers[i] != myNumbers[i]) {
        // they don't match!
    }
}
// if you get to here and haven't found any discrepancies,
// then the two arrays match.
nickf