Solved

Calculate function not working in FF or Chrome, fine in IE

Posted on 2011-09-19
8
320 Views
Last Modified: 2012-05-12
I have the following calculate function which is not working in FF or chrome.  Works great in IE.  Here are the fields that should change but do not update in FF or chrome.  Any thoughts would be greatly appreciated.  Thank you.

<input type="text" name="a3" id="a3" value="$11.75" align="right" size=7 readonly style="text-align: right; font-weight: bolder;">

<input type="text" name="a4" id="a4" value="$0.89" size="7" readonly style="text-align: right; font-weight: bolder;">

<input type="text" name="total" id="total" value="$12.64" size="7" readonly style="text-align: right; font-weight: bolder;">
<script>
function calculate(f) 
{
var num=parseInt(f.quantity.options[f.quantity.options.selectedIndex].value);
var cost=(7.95+4.95);
var tax=.0825

if(document.getElementById('billState').value != "TX") //replace MY_STATE_DDL_ID with the control ID of your state drop down list
{
   tax = 0;
}

f.a3.value="$"+(((num*cost)).toFixed(2));
var tax2=(((num*cost))*tax);
f.a4.value="$"+tax2.toFixed(2);
f.total.value="$"+((tax2+((num*cost))).toFixed(2));
pieces=f.a3.value.split('.');
pieces[1]=(pieces[1]) ? pieces[1]+'00' : '00';
//f.a3.value=pieces[0]+'.'+(pieces[1]).substr(0,2);
}
</script>

Open in new window

0
Comment
Question by:meldraper
  • 4
  • 3
8 Comments
 
LVL 18

Expert Comment

by:Jerry Miller
ID: 36564349
Have you tested it by taking the readonly flag off? If you have to keep it in the textbox properties, you could toggle it in another function.
0
 
LVL 51

Expert Comment

by:HainKurt
ID: 36564360
it is working on my FF

shows

$11.75 $0.89 $12.64

same in IE
0
 

Author Comment

by:meldraper
ID: 36564366
Shoot, i removed readonly but it made no difference, ugh.  Good idea though.
0
 

Author Comment

by:meldraper
ID: 36564368
I should have said when the quantity changes.  That's where it works in IE but on in FF or CHrome.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 51

Accepted Solution

by:
HainKurt earned 250 total points
ID: 36564380
you mean this example:
<script>
function calculate(f) 
{
var num=parseInt(f.quantity.options[f.quantity.options.selectedIndex].value);
var cost=(7.95+4.95);
var tax=.0825

if(document.getElementById('billState').value != "TX") //replace MY_STATE_DDL_ID with the control ID of your state drop down list
{
   tax = 0;
}

f.a3.value="$"+(((num*cost)).toFixed(2));
var tax2=(((num*cost))*tax);
f.a4.value="$"+tax2.toFixed(2);
f.total.value="$"+((tax2+((num*cost))).toFixed(2));
pieces=f.a3.value.split('.');
pieces[1]=(pieces[1]) ? pieces[1]+'00' : '00';
//f.a3.value=pieces[0]+'.'+(pieces[1]).substr(0,2);
}
</script>

<form name=myForm>
Qty : <select id="quantity" name="quantity" onChange="calculate(document.myForm)">
	<option value=1>1</option>
	<option value=2>2</option>
	<option value=3>3</option>
</select>	<br>

State : <select id=billState name=billState>
	<option value="AB">AB</option>
	<option value="TX">TX</option>
	<option value="CD">CD</option>
</select>	<br>
		
<input type="text" name="a3" id="a3" value="$11.75" align="right" size=7 readonly style="text-align: right; font-weight: bolder;">
<input type="text" name="a4" id="a4" value="$0.89" size="7" readonly style="text-align: right; font-weight: bolder;">
<input type="text" name="total" id="total" value="$12.64" size="7" readonly style="text-align: right; font-weight: bolder;">
</form>

Open in new window

0
 
LVL 51

Expert Comment

by:HainKurt
ID: 36564384
The sample I posted above also works fine in FF :)

you should post a running sample, we cannot predict what your code and find the issue...
0
 
LVL 51

Expert Comment

by:HainKurt
ID: 36564390
if you aggree on my sample working, then compare that one with your code

look for select elements, do you have value defined? do you have id & name for each element? did you use onChange event handler? do you refer to form correctly?
0
 

Author Comment

by:meldraper
ID: 36566435
Yes, thank you very much for your help.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming/…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now