rekenen achter de komma

Status
Niet open voor verdere reacties.

furtice

Gebruiker
Lid geworden
22 jan 2010
Berichten
12
Ik heb een rekenformulier gemaakt en op zich werkt hij...
...MAAR, hij ziet de getallen achter de komma niet en rekent hier ook niet mee. Wat is de fout in onderstaande code?!

Code:
<script type="text/javascript">
function reken()
{ 
   var ref, waarde1, waarde2, waarde3, waarde4, waarde5, uitkomst;
 
   ref     = document.getElementById("select_1");
   waarde1 = parseInt(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_2");
   waarde2 = parseInt(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_3");
   waarde3 = parseInt(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_5");
   waarde5 = parseInt(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_4");
   waarde4 = parseInt(ref[ref.selectedIndex].value);

   /* parseInt maakt er een getal van, want het is nog 'text' */
 
   uitkomst = waarde1 * waarde2 + waarde3 +waarde5 + waarde4;

document.getElementById('antwoord').innerHTML = uitkomst;

}
</script>

<div class="form_item">
  <div class="form_element cf_text"> <span class="cf_text">bereken hier uw arrangement</span> 

</div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">wij willen varen met</label>
    <select class="cf_inputbox validate-selection" id="select_1" size="1" title="maak uw keuze" 

 name="select_1">
    <option value="">maak uw keuze</option>
      <option value="47,5">4 personen</option>
<option value="39,00">5 personen</option>
<option value="33,50">6 personen</option>
<option value="30,00">7 personen</option>
<option value="27,50">8 personen</option>
<option value="25,00">9 personen</option>
<option value="23,00">10 personen</option>
<option value="21,50">11 personen</option>
<option value="20,00">12 personen</option>

    </select>
    
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">gedurende een</label>
    <select class="cf_inputbox validate-selection" id="select_2" size="1" title="maak uw keuze" 

 name="select_2">
    <option value="">maak uw keuze</option>
      <option value="1,00">ochtend</option>
<option value="1,00">middag</option>
<option value="2,00">gehele dag</option>

    </select>
    
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">vooraf willen wij</label>
    <select class="cf_inputbox validate-selection" id="select_3" size="1" title="maak uw keuze" 

 name="select_3">
    <option value="">maak uw keuze</option>
      <option value="5,00">koffie bij Sluiszicht</option>
<option value="10,00">lunch bij Sluiszicht</option>
<option value="0,00">geen</option>

    </select>
    
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">tussendoor</label>
    <select class="cf_inputbox validate-selection" id="select_5" size="1" title="maak uw keuze" 

 name="select_5">
    <option value="">maak uw keuze</option>
      <option value="10,00">lunch bij Sluizicht</option>
<option value="11,00">picknickmand</option>
<option value="0,00">geen</option>

    </select>
    
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">en afsluiten met</label>
    <select class="cf_inputbox validate-selection" id="select_4" size="1" title="maak uw keuze" 

 name="select_4">
    <option value="">maak uw keuze</option>
      <option value="10,00">lunch bij Sluizicht</option>
<option value="20,00">diner bij Sluizicht</option>
<option value="0,00">geen</option>

    </select>
    
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<p>Uw arrangement kost <b id='antwoord'> click op bereken</b> euro per persoon</p> 
<input type='button' onclick='reken()' value= bereken>

  </div>
  <div class="cfclear">&nbsp;</div>
</div>


<div class="form_item">
  <div class="form_element cf_text"> <span class="cf_text"><br />Heeft u geen keuze kunnen maken? Neem dan contact met ons op per e-mail of telefoon. U vindt de gegevens bij 'contact'</span> </div>
  <div class="cfclear">&nbsp;</div>
</div>
 
Parsing

Hi,

in jouw plaats wil ik eerst alle decimale commaas vervangen door een decimale punt. Dan, jij gebruikt de ParseInt functie. Ik gebruik die om integers, je weet wel zonder decimaals, te tonen. Heb jij al met Parsefloat geprobeerd?

yours truly
CG
 
ik hbe je aanpassingen doorgevoerd. Alle komma's vervangen door punten en en parseInt door parsefloat.

Code:
<script type="text/javascript">
function reken()
{ 
   var ref, waarde1, waarde2, waarde3, waarde4, waarde5, uitkomst;
 
   ref     = document.getElementById("select_1");
   waarde1 = Parsefloat(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_2");
   waarde2 = Parsefloat(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_3");
   waarde3 = Parsefloat(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_5");
   waarde5 = Parsefloat(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_4");
   waarde4 = Parsefloat(ref[ref.selectedIndex].value);

   /* parseInt maakt er een getal van, want het is nog 'text' */
 
   uitkomst = waarde1 * waarde2 + waarde3 + waarde5 + waarde4;

document.getElementById('antwoord').innerHTML = uitkomst;

}
</script>

Hij rekent nu echter helemaal niet meer...
Heb ik iets verkeerd neergezet?! En hoe moet het anders?
 
ik hbe je aanpassingen doorgevoerd. Alle komma's vervangen door punten en en parseInt door parsefloat.

Code:
<script type="text/javascript">
function reken()
{ 
   var ref, waarde1, waarde2, waarde3, waarde4, waarde5, uitkomst;
 
   ref     = document.getElementById("select_1");
   waarde1 = Parsefloat(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_2");
   waarde2 = Parsefloat(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_3");
   waarde3 = Parsefloat(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_5");
   waarde5 = Parsefloat(ref[ref.selectedIndex].value);

   ref     = document.getElementById("select_4");
   waarde4 = Parsefloat(ref[ref.selectedIndex].value);

   /* parseInt maakt er een getal van, want het is nog 'text' */
 
   uitkomst = waarde1 * waarde2 + waarde3 + waarde5 + waarde4;

document.getElementById('antwoord').innerHTML = uitkomst;

}
</script>

Hij rekent nu echter helemaal niet meer...
Heb ik iets verkeerd neergezet?! En hoe moet het anders?


Vegras is helemaal gelijk. Als niet lukt test ik later even mee op mijn server
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan