Ich habe ein Onchange-Ereignis, das ein Formular aktualisiert, und im Aktualisierungsprozess ruft es eine Funktion zum Berechnen des Versands auf. Ich bin mir nicht sicher, warum, aber ich erhalte die folgende Fehlermeldung, wenn ich versuche, um die Funktion aufzurufen:Was verursacht den Fehler "Uncaught TypeError: Nummer ist keine Funktion"
Uncaught TypeError: number is not a function
Die Funktion, shipping
, sieht wie folgt aus:
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 vorbei 1
gerade jetzt. Die Variable distance
stammt von einem Ajax-Aufruf, der vor dem Ausführen dieser Funktion abgeschlossen wurde. Diese Funktion sieht wie folgt aus:
function get_distance(zip)
{
$.getJSON(
'distance.php',
{ zip:zip },
function(json)
{
distance = json
})
} // get_distance
ich überprüft haben, um sicherzustellen, dass die Variable distance
gesetzt.
Die Konsole sagt, dass der Fehler des nicht abgefangenen Typs an der Linie happt, an der ich shipping(1)
rufe. Irgendwelche Gedanken, warum das passiert?
Das war es! Ugh dumme Fehler. Vielen Dank! – hookedonwinter