Link to home
Start Free TrialLog in
Avatar of coreybryant
coreybryantFlag for United States of America

asked on

Yes - Another Field Addition

I was trying to use the code here: https://www.experts-exchange.com/questions/21033365/One-more-field-Addition.html to complete this:
<select size="1" name="Plans" onchange="setVal(this);">
<option value="0">Please Select</option>
<option value="29.90">Silver ($19.95 yearly) ($9.95 one-time setup)</option>
<option value="39.90">Gold ($29.95 yearly) ($9.95 one-time setup)</option>
<option value="49.90">Gold ($39.95 yearly) ($9.95 one-time setup)</option>
</select>

and

<select size="1" name="Domain_Registered">
<option value="Please Select" selected>Please Select</option>
<option value="15">Yes</option>
<option value="0">No</option>
</select>

Now depending on what they choose, a field should show up to give them the total.
 I was also using this code:
<script language="JavaScript">
<!--

function setVal(obj)
{
    var f=obj.form;
    if( obj.name == "Plans" ) {
       f.hval1.value = parseFloat(obj.value);
       f.ival.value = "$"+obj.value;
       f.ival.style.display = "block";
    }
}

//-->
</script>
to help format the total field.

Thanks!

-Corey
Avatar of devic
devic
Flag of Germany image

something like this:
===========================
<script language="JavaScript">
<!--

function ChTotal(obj)
{
      var f=obj.form;
      if(f.Plans.selectedIndex!=0 && f.Domain_Registered.selectedIndex!=0)
      {
            f.total.value=f.Plans.value*1+f.Domain_Registered.value*1;
      }
      else
      {
            f.total.value=0;
      }
}

//-->
</script>

<form>
<select size="1" name="Plans" onchange="ChTotal(this);">
<option value="0">Please Select</option>
<option value="29.90">Silver ($19.95 yearly) ($9.95 one-time setup)</option>
<option value="39.90">Gold ($29.95 yearly) ($9.95 one-time setup)</option>
<option value="49.90">Gold ($39.95 yearly) ($9.95 one-time setup)</option>
</select>
<br>
<select size="1" name="Domain_Registered" onchange="ChTotal(this);">
<option value="Please Select" selected>Please Select</option>
<option value="15">Yes</option>
<option value="0">No</option>
</select>
<br>
<input name=total>
</form>
Avatar of coreybryant

ASKER

Almost but trying to format that total field:
<script language="JavaScript">
<!--

function ChTotal(obj)
{
     var f=obj.form;
     if(f.Plans.selectedIndex!=0 && f.Domain_Registered.selectedIndex!=0)
     {
          f.total.value="$"+f.Plans.value*1+f.Domain_Registered.value*1.toFixed(2);
     }
     else
     {
          f.total.value=0;
     }
}

//-->
</script>

But I missed something

-Corey
try this:
=================
function ChTotal(obj)
{
    var f=obj.form;
    if(f.Plans.selectedIndex!=0 && f.Domain_Registered.selectedIndex!=0)
    {
         f.total.value="$"+(f.Plans.value*1+f.Domain_Registered.value*1).toFixed(2);
    }
    else
    {
         f.total.value=0;
    }
}
That works.  I noticed - just in case - if they do not select the Yes / No, the total does not show up.  I tried to change the Please Select to 0 also, but that did not work.

-Corey
this keeps integers as integers if you have any (ie 23 not 23.00)

<body>
<form name="f">
  <p><select size="1" name="Plans" onchange="setVal(this);">
    <option value="0">Please Select</option>
    <option value="29.90">Silver ($19.95 yearly) ($9.95 one-time setup)</option>
    <option value="39.90">Gold ($29.95 yearly) ($9.95 one-time setup)</option>
    <option value="49.90">Gold ($39.95 yearly) ($9.95 one-time setup)</option>
  </select> <select size="1" name="Domain_Registered">
    <option value="Please Select" selected>Please Select</option>
    <option value="15">Yes</option>
    <option value="0">No</option>
  </select></p>
  <p><input type="text" name="total"> </p>
</form>

<script language="JavaScript">
<!--
function setVal(obj)
{var f=obj.form;
 if(f.Plans.selectedIndex!=0 && f.Domain_Registered.selectedIndex!=0)
  f.total.value="$"+f.Plans.value*1+(f.Domain_Registered.value*1).toFixed(2).replace(/\.0*$/,'');
 else
  f.total.value=0;
}
//-->
</script>
</body>

When I select a "plan" - it puts 0 into the total.  And then at one point I have a total of $39.915 LOL

-Corey
ASKER CERTIFIED SOLUTION
Avatar of devic
devic
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
That did it :)

Thanks!

-Corey