Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 17
  1. #1
    no_name ist offline Jungspund
    registriert
    25-07-2008
    Beiträge
    14

    extjs & prototype

    Hi,

    Ich habe folgendes Problem: Ich habe mit Prototype ne Klasse für EXTJS gemacht und bekomme aber einen fehler in line 171 ("this.listingEditorGrid has no properties"), den ich aber nich verstehe, weil ich die variable oben zuvor initialisiert habe. Der link zum paste:
    nopaste

    line 171. mit varNewsEdit.listingEditorGrid.stopEditing (); geht das Script, gibt aber Fehler bei this.dataStore.getModifiedRecords (); aus. Also mit varNewsEdit. funktioniert das Script, aber mit this. nicht.

    Danke schonmal im Voraus

    edit: Was mir noch aufgefallen ist: ich kann in saveChanges auch keine anderen Funktionen der Klasse aufrufen. also bei this.add (); oder this.initialize (); kommt: "... is not a function".
    Geändert von no_name (25-07-2008 um 15:19 Uhr)

  2. #2
    Avatar von Albu
    Albu ist offline Super Moderator
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: extjs & prototype

    Zitat Zitat von no_name Beitrag anzeigen
    und bekomme aber einen fehler in line 171
    Und die Fehlermeldung sollen wir uns ausdenken?
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  3. #3
    no_name ist offline Jungspund
    registriert
    25-07-2008
    Beiträge
    14

    AW: extjs & prototype

    Ups sorry. Fehlermeldung heisst: "this.listingEditorGrid has no properties"...

  4. #4
    Avatar von Albu
    Albu ist offline Super Moderator
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: extjs & prototype

    Zitat Zitat von no_name Beitrag anzeigen
    Ups sorry. Fehlermeldung heisst: "this.listingEditorGrid has no properties"...
    Das sagt es doch schon aus: Die Funktion stopEditing () gibt es zum Zeitpunkt der Ausführung nicht im angegebenen Objekt, weil dieses überhaupt keine Eigenschaften hat. Ich gehe sogar soweit und behaupte, dass "this.listingEditorGrid" undefined ist.
    Und was nicht da ist, kann nicht ausgeführt werden -> desgwegen Fehler -> deswegen Abbruch der Befehlsausführung.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  5. #5
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.639

    AW: extjs & prototype

    this.stopEditing (); sollte gehen - this ist listingEditorGrid

  6. #6
    no_name ist offline Jungspund
    registriert
    25-07-2008
    Beiträge
    14

    AW: extjs & prototype

    bei this.stopEditing kommt "this.stopEditing is not a function".
    @Albu:
    this.listingEditorGrid ist tatsächlich undefined. Ich verstehe aber nicht warum. Habe es doch oben initialisiert?

  7. #7
    Avatar von Albu
    Albu ist offline Super Moderator
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: extjs & prototype

    Zitat Zitat von no_name Beitrag anzeigen
    bei this.stopEditing kommt "this.stopEditing is not a function".
    @Albu:
    this.listingEditorGrid ist tatsächlich undefined. Ich verstehe aber nicht warum. Habe es doch oben initialisiert?
    Wann rufst Du "initialize ()" auf?
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  8. #8
    no_name ist offline Jungspund
    registriert
    25-07-2008
    Beiträge
    14

    AW: extjs & prototype

    Ich mache varNewsEdit.initialize (); und dann varNewsEdit.add ();
    add () funktioniert komischerweise problemlos, obwohl dort ja dann auch "has no properties" kommen müsste.

  9. #9
    Avatar von Albu
    Albu ist offline Super Moderator
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: extjs & prototype

    Zitat Zitat von no_name Beitrag anzeigen
    Ich mache varNewsEdit.initialize (); und dann varNewsEdit.add ();
    add () funktioniert komischerweise problemlos, obwohl dort ja dann auch "has no properties" kommen müsste.
    Dann würde ich sagen Dein this ist nicht das, was Du denkst. Ich vermute this zeigt dann auf den Aufrufenden von saveChanges statt auf das Objekt welches saveChanges zur Verfügung stellt (sprich die MessageBox).
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  10. #10
    no_name ist offline Jungspund
    registriert
    25-07-2008
    Beiträge
    14

    AW: extjs & prototype

    Und wie biege ich das wieder grade? Das ist irgendwie verstrickt mit prototype da anständig zurecht zu kommen...

    this ist tatsächlich der Button "Änderungen speichern"...

  11. #11
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.639

    AW: extjs & prototype

    Zitat Zitat von no_name Beitrag anzeigen
    Und wie biege ich das wieder grade? Das ist irgendwie verstrickt mit prototype da anständig zurecht zu kommen...

    this ist tatsächlich der Button "Änderungen speichern"...
    initialize im konstruktor aufrufen

  12. #12
    no_name ist offline Jungspund
    registriert
    25-07-2008
    Beiträge
    14

    AW: extjs & prototype

    Und ich dachte initialize ist der Konstruktor und wird automatisch aufgerufen?
    Da ich nun wusste worans liegt hab ich ma gegoogelt und bin auf .bindAsEventListener(this) gestossen. Das klappt auch hervorragend wenn ich die Funktionen so aufrufe:
    Code:
    tbar: [{
    				text: this.title + ' hinzufügen',
    				iconCls: 'add',
    				handler: this.add.bindAsEventListener (this)
    			},'-',{
    				text: this.title + ' bearbeiten',
    				iconCls: 'edit',
    				handler: this.edit.bindAsEventListener (this)
    			},'-',{
    				text:  this.title + ' löschen',
    				iconCls: 'delete',
    				handler: this.confirmDelete.bindAsEventListener (this)
    			},'-',{
    				text: 'Änderungen speichern',
    				handler: this.saveChanges.bindAsEventListener (this)
    			},'-', {
    				text: 'Suche',
    				iconCls: 'search',
    				handler: this.startSearch.bindAsEventListener (this)
    			},
    Nur habe ich dann ein Problem weiter unten in Zeile 191. wo er mir sagt, dass this.dataStore keine properties hat. Dabei denke ma das liegt an der function die um die Zeilen liegt (im nopaste steht es noch ohne this., habe es aber geändert). Wie bekomme ich das nun hin?
    Sonst danke schonmal. Das hat mir viel weitergeholfen, dass sich das this auf den Button bezogen hat

  13. #13
    no_name ist offline Jungspund
    registriert
    25-07-2008
    Beiträge
    14

    AW: extjs & prototype

    Habe nun auch das gelöst. Hinter jeden function Aufruf muss irgendwie .bindAsEventListener(this). Auch wenns n bisschen lästig is. Aber es funktioniert. Also z.B. so:
    Code:
    failure: function () {
    						doAlert ('error', 'senddata');
    						updateStatus ('Fehler aufgetreten...');
    					}.bindAsEventListener (this)
    Danke für den Tipp, dass sich this gar nicht mehr auf das eigentliche Objekt bezieht. An sowas hab ich überhaupt nicht gedacht

  14. #14
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.639

    AW: extjs & prototype

    Zitat Zitat von no_name Beitrag anzeigen
    Und ich dachte initialize ist der Konstruktor und wird automatisch aufgerufen?
    ich kenn mich mit prototype auch nicht aus. hab aber mal in der docu geschmökert, und dort steht auch das initialize automatisch aufgerufen wird. Dann sollte aber auch wieder listingEditorGrid vorhanden sein.
    @Albu: Warum geht dann varNewsEdit.saveChanges() nicht?

  15. #15
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.639

    AW: extjs & prototype

    Zitat Zitat von no_name Beitrag anzeigen
    Code:
    failure: function () {
    						doAlert ('error', 'senddata');
    						updateStatus ('Fehler aufgetreten...');
    					}.bindAsEventListener (this)
    ich steig langsamm dahinter, du hast gar nicht varNewsEdit.saveChanges() aufgerufen sondern die Funktion saveChanges() an einen Event Handler übergeben?

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Prototype Window Variableübergabe
    Von sonic2k im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 14-07-2008, 13:51
  2. sonderzeichen versenden mit prototype
    Von oinky im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 31-03-2008, 03:13
  3. Prototype Viewport Problem
    Von luemmel im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 16-03-2008, 02:24
  4. Antworten: 19
    Letzter Beitrag: 27-01-2008, 22:16
  5. Antworten: 5
    Letzter Beitrag: 10-10-2007, 11:05

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •