RonnyB: Was genau macht eigentlich alterError?

Ich bin ziemlicher Neuling in Javascript und PHP und habe aktuell ein bestehendes Script, in welchem die Funktion parent.alterError vorkommt.
Genau in der Zeile bekomme ich einen Scriptfehler. Ich habe bisher noch keine Erklärung dieser Funktion gefunden. Nur haufenweise Google Ergebnisse, in denen diese Funktion vorkommt aber eben keine Erklärung.

Ich hoffe es schlägt jetzt niemand die Hände über dem Kopf zusammen.

Für eine kurze Erläuterung wäre ich echt dankbar.
Gruß
Ronny

  1. Ich bin ziemlicher Neuling in Javascript und PHP und habe aktuell ein bestehendes Script, in welchem die Funktion parent.alterError vorkommt.

    Weiter unten in deinem Quelltext wird diese Funktion definiert, sie scheint irgendwas mit Währungsformatierung zu tun zu haben.

    Genau in der Zeile bekomme ich einen Scriptfehler.

    Poste mal die genaue Fehlermeldung.

    Siechfred

    1. Poste mal die genaue Fehlermeldung.

      Siechfred

      Fehlermeldung:
      Das Objekt unterstützt diese Eigenschaft oder Methode nicht.

      Die Scriptzeile lautet:
      if(parent.alterError(gssbShipment[j].costs[x].cost!=0))
      ...

      Den Fehler ahne ich schon. Wahrscheinlich kann an der Stelle nicht auf parent zurückgegriffen werden. Aber mir geht es auch nicht so sehr um den Fehler, als vielmehr um die Funktion. Ist alterError keine definierte Javascript Funktion sondern eine irgendwo in meinen Seiten definierte Funktion? Die Seiten werden von einer Shopsoftware erzeugt.

      Ich wollte eigentlich nur für unseren Onlineshop die Versandkosten, welche normal auf der Seite http://www.ela-online-shop.de/cond.php per Script angezeigt werden auch in einem Popupfenster anzeigen, welches per Link von jedem Artikel aufgerufen werden kann. http://www.ela-online-shop.de/deliverypopup.php
      Im ersten Schritt habe ich das Script einfach rüberkopiert und mache mich jetzt an die Fehlerbereinigung. Dabei bin ich an der Funktionsweise von alterError hängengeblieben.

      Viele Grüße
      Ronny

      1. Hi,

        Ist alterError keine definierte Javascript Funktion sondern eine irgendwo in meinen Seiten definierte Funktion?

        Korrekt, auf http://www.ela-online-shop.de/ steht folgendes:

        function alterError(value) {  
          
        if(String(value).substr(0,1)!="-")  
        {  
        value = parseInt(value*100+0.5);  
        if(isNaN(value) == true) {  
        value = eval('0');  
        }  
        newPounds = String(value).substr(0,String(value).length-2);  
        if(newPounds == '') {  
        newPounds = '0';  
        }  
        if(isNaN(newPounds) == true) {  
        newPounds = eval('0');  
        }  
        newPence = String(value).substr(String(value).length-2,2);  
        if(newPence.length < 2) {  
        newPence = "0"+newPence;  
        }  
        if(isNaN(newPence) == true) {  
        newPence = eval('0');  
        }  
        if(eval(newPence) == 0) {  
        newPence = '00';  
        }  
        return(newPounds+'.'+newPence);  
        }  
        else  
        value = String(value).substr(1,String(value).length);  
        value = parseInt(value*100+0.5);  
        newPounds = String(value).substr(0,String(value).length-2);  
        if(newPounds == '') {  
        newPounds = '0';  
        }  
        newPence = String(value).substr(String(value).length-2,2);  
        if(newPence.length < 2) {  
        newPence = "0"+newPence;  
        }  
        if(eval(newPence) == 0) {  
        newPence = '00';  
        }  
        return('-'+newPounds+'.'+newPence);  
        }
        

        mfG,
        steckl

      2. Hallo,

        Die Scriptzeile lautet:
        if(parent.alterError(gssbShipment[j].costs[x].cost!=0))
        ...

        Den Fehler ahne ich schon. Wahrscheinlich kann an der Stelle nicht auf parent zurückgegriffen werden.

        das ist die Erklärung, aber weil bis jetzt der Fehler immernoch auftritt, nehme ich mal an, du hast noch keine Lösung gefunden. Im Popup müssten die Aufrufe so aussehen:

          
        if(opener.parent.alterError(gssbShipment[j].costs[x].cost!=0)  
        ...  
        
        

        zum Nachlesen http://de.selfhtml.org/javascript/objekte/window.htm#allgemeines@title=javascript/objekte/window.htm#allgemeines

        Gruß plan_B

        --
             *®*´¯`·.¸¸.·
        1. Den Fehler ahne ich schon. Wahrscheinlich kann an der Stelle nicht auf parent zurückgegriffen werden.

          das ist die Erklärung, aber weil bis jetzt der Fehler immernoch auftritt, nehme ich mal an, du hast noch keine Lösung gefunden. Im Popup müssten die Aufrufe so aussehen:

          if(opener.parent.alterError(gssbShipment[j].costs[x].cost!=0)
          ...

            
          Danke plan\_B, dass wars. Mit opener.parent funktioniert es jetzt. Wie gesagt bin ich in JS noch ein Newbie und habe bisher höchstens mal ein Script leicht modifiziert aber noch nie selbst eins erstellt.  
            
          Vielen Dank auch an Steckl, da hätte ich aber auch selbst drauf kommen können, dass die Funktion alterError keine Standard Javascript Funktion ist, nachdem ich bei Google so gar nichts darüber finden konnte. Ich hatte zwar mal meine ganzen Shopseiten nach alterError durchsuchen lassen, da das aber tausende von Ergebnissen brachte hab ich die eigentliche Funktionsdeklaration übersehen.  
            
          Also danke noch mal, Problem gelöst.  
            
          Gruß  
          Ronny  
          
          
  2. Für eine kurze Erläuterung wäre ich echt dankbar.

    wir auch, mit deinen Angaben läßt sich nichts erläuern. Wie lautet z.b. die Fehlermeldung?

    Struppi.