fl0: Problem mit MAC OS9 - Safari | JavaScript

Hallo Liste!

Ich hab mich in ein uebel peinliches Problem verbissen... Habe ein winziges Skriptlein, das einfach nciht laufen will. Zumindest nciht auf o.g. Browser. Der Witz ist, dass  quasi der gleiche Befehl einmal durchgefuehrt wird und einmal nicht. Die Ausgabe bleibt immer bei "0".  Auf allen anderen mir zur Verfuegung stehenden Browsern laeuft das Skript einwandfrei...

Hat jemand aehnliches erfahren?
Waere super wenn mir jemand helfen koennte...
*Leide verblutet der Anfaenger*
Gruesse

fl0.

function addItem(name) {
 if (Number(document.cart[name].value)+Number(document[name].quantity.value)>10){
  alert ('To order more than 10 pieces, please contact us via email.'); // < FUNKTIONIERT OHNE PROBLEME
 }
 else {
 document.cart[name].value = Number(document.cart[name].value)+Number(document[name].quantity.value); // < DIESE ZEILE WIRD SCHEINBAR VOELLIG IGNORIERT
 recalculate();
 alert (document.cart[name].value);
 }
}

  1. Hallo,

    function addItem(name) {
     if (Number(document.cart[name].value)+Number(document[name].quantity.value)>10){
      alert ('To order more than 10 pieces, please contact us via email.'); // < FUNKTIONIERT OHNE PROBLEME

    das verwundert mich aber, da xxx.value Strings und keine Zahlen liefert; das + also Strings aneinanderhängt, und keine Zahlen addiert. Oder wie sieht das Element "cart" aus?

    }
     else {
     document.cart[name].value = Number(document.cart[name].value)+Number(document[name].quantity.value); // < DIESE ZEILE WIRD SCHEINBAR VOELLIG IGNORIERT

    Offensichtlich ist z.B."2"+"3" = 23 und damit > 10

    recalculate();
     alert (document.cart[name].value);
     }
    }

    Gruß, Jürgen

    1. das verwundert mich aber, da xxx.value Strings und keine Zahlen liefert;

      deshalb Number(xxx.value) !

      Es wird ja nicht die Fehlermeldung, sondern "0" ausgegeben... also wurde die else-schleife durchlaufen...

      1. Hallo,

        deshalb Number(xxx.value) !

        Ups. Hab ich übesehen.

        hast Du Dir mal die Werte mit alert angesehen? Und wie sieht der relevante HTML-Teil aus?

        Gruß, Jürgen

        1. hast Du Dir mal die Werte mit alert angesehen? Und wie sieht der relevante HTML-Teil aus?

          ich tu seit stunden nix anderes :)

          der relevante html teil ist ziemlich gross, daran haengts meiner meinung nach auch nicht... wie gesagt: auf den anderen browsern laufts. es scheitert tatsaechlich an dieser einen (Additions-) zeile... der "neue" wert ist und bleibt NULL.

          danke schonmal fuer die unterstuetzung!

          hier dochn html-schnipsel:

          <tr><td style="border-bottom:1px solid #000000;">
          <form name="cart">
          <select name="starterkit"  onchange="recalculate();">
          <option value="0">0</option>
          <option value="1">1</option>
          <option value=....
             ..... value="3">3</option>
          </select></td>
          <td class="littletext" style="border-bottom:1px solid #000000;">Starterkit(s)   </td>
          <td id="starterkit_sum" align="right" class="littletext">0.00</td>
          </tr>