I have an onchange event that updates a form, and in the updating process it calls a function to calculate shipping. I'm not sure why, but I'm getting the following error when I try to call the function:
Uncaught TypeError: number is not a function
The function, shipping, looks like this:
function shipping( weight )
{
var flat
switch( weight )
{
case 1:
case 2:
case 3:
flat = 32.00;
break;
case 4:
flat = 18.50;
break;
case 5:
flat = 15.80;
break;
case 6:
flat = 14.00;
break;
case 7:
flat = 12.71;
break;
case 8:
flat = 11.75;
break;
case 9:
flat = 11.00;
break;
case 10:
flat = 10.40;
break;
case 11:
flat = 9.91;
break;
case 12:
flat = 9.50;
break;
case 13:
flat = 9.15;
break;
case 14:
flat = 8.86;
break;
case 15:
flat = 8.86;
break;
case 16:
flat = 8.38;
break;
case 17:
flat = 8.18;
break;
case 18:
flat = 8.00;
break;
case 19:
flat = 7.84;
break;
case 20:
flat = 7.70;
break;
} // switch
var flat_fee = flat * weight;
var mile_fee = distance * 0.90;
var shipping_fee = flat_fee + mile_fee;
simpleCart.shippingTest = shipping_fee;
return shipping_fee;
} // shipping
I'm passing in 1 right now. The variable distance is coming from an ajax call that is completed before this function is run. That function looks like this:
function get_distance( zip )
{
$.getJSON(
'distance.php',
{ zip:zip },
function(json)
{
distance = json
})
} // get_distance
I've checked to make sure the variable distance is set.
The console says the uncaught type error is happing at the line where I call shipping(1). Any thoughts as to why that's happening?
Are you using shipping as a variable anywhere? Sounds like the function shipping is getting overwritten by using it as a variable with a numeric value of 1.
It's not in the code you posted (neither is the call to shipping(1) you mentioned).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With