calculation and onchange

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • tracy36
    New Member
    • May 2007
    • 1

    calculation and onchange

    I have an html form with three fields that need to calculate the total and onchange put the amount on a text field, should be simple enough for the gurus, I started it but cannot get it right. Here is the formula:
    Logo Solutions: (LIST)
    Starter Package - $159
    Pro Package - $359
    Wholistic Package - $659

    Promtional Code: (TEXT)
    NU0507

    If Starter Discount = -$25
    If Pro Discount = -$50
    If Wholistic Discount = -$100

    Priority Rush: (CHECK)
    Priority Rush - +$99

    Order Total: (DYNAMIC)
    Displays the total

    as you can see the package list has the prices, that need to total and if they put in the promo code NU0507
    then they get the discount outlined above accordingly, and one more loop is if they check the rush checkbox it adds 99 to total
    Simple caclutation, just my javascript is'nt so good, Here is the function I started writing, though with it I could'nt even get the onchage to fire:
    Plus also now the total text field has the 659 in it as defualt but does not change as I select the list box.
    here is the function as I have it set:
    function Change_Selectio n() {
    var logo_list = document.getEle mentById("pack" );
    var logo_tot = document.getEle mentById("logo_ total");
    var curSel = logo_list.optio ns[logo_list.selec tedIndex].value;
    switch (curSel) {
    case 1:
    logo_tot.value = "159";
    break;
    case 2:
    logo_tot.value = "359";
    break;
    default:
    logo_tot.value = "659";
    }
    }

    And here is the form code as I have it now:

    <select name="pack" id="pack" onChange="Chang e_Selection()">
    <option value="1" selected>
    <option value="1" selected>Starte r Package</option>
    Starter Package
    <option value="2">Pro Package</option>
    <option value="3">Wholi stic Package</option>
    </select>
    </label></td>
    </tr>
    <tr bgcolor="#fffff f">
    <td height="2" bgcolor="#FFFFF F"><span class="style10" >Promo Code </span></td>
    <td height="2" colspan="3"><la bel>
    <input name="code" type="text" id="code">
    </label></td>
    </tr>
    <tr bgcolor="#fffff f">
    <td height="2" bgcolor="#FFFFF F"><span class="style10" >Proirity rush </span></td>
    <td height="2" colspan="3"><la bel>
    <input name="rush" type="checkbox" id="rush" value="99">
    </label></td>
    </tr>
    <tr bgcolor="#fffff f">
    <td height="2" bgcolor="#FFFFF F"><span class="style10" >Total</span></td>
    <td height="2" colspan="3"><la bel>
    <input name="logo_tota l" type="text" id="logo_total" >
    </label></td>
    </tr>

    if anyone can help it will much be appreasiated!
  • acoder
    Recognized Expert MVP
    • Nov 2006
    • 16032

    #2
    In your switch statement, change the integers to strings, i.e. 1 should be '1', etc.

    Comment

    • gits
      Recognized Expert Moderator Expert
      • May 2007
      • 5390

      #3
      yep ... alternativly you may typecast the curSel-value to numbers:

      [CODE=javascript]
      // apply that to that switch-statement

      switch (parseInt(curSe l)) {
      // your code here
      }
      [/CODE]

      Comment

      • acoder
        Recognized Expert MVP
        • Nov 2006
        • 16032

        #4
        Originally posted by gits
        yep ... alternativly you may typecast the curSel-value to numbers:
        Yes, that too!

        Comment

        Working...