![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| ||||
| ||||
|
|
Ich habe ein kleines Problem innerhalb eine bestehenden Applikation. Auf einer Seite wird ein weiteres Fenster geöffnet, welches wiederum nach Auswahl per opener.document... verschiedene Felder ausfüllt. |
|
Nun möchte ich gerne im Anschluss an das ausfüllen eine Javascriptfunktion des Openers aufrufen. Dies geschieht mit opener.checkName();. Das funktioniert im Prinzip, aber auch nur im Prinzip, weil die Funktion eine xajax-Funktion aufruft, die so leider nicht funktioniert. |
|
Gibt es ansonsten eine Möglichkeit innerhalb des openers zu ermitteln, wenn von einem externen Fenster Werte gesetzt werden. ^ |
|
Mit onchange wird die Funktion checkName leider nicht aufgerufen. |
#3
| ||||
| ||||
|
|
Stefan Dreyer wrote: Ich habe ein kleines Problem innerhalb eine bestehenden Applikation. Auf einer Seite wird ein weiteres Fenster geöffnet, welches wiederum nach Auswahl per opener.document... verschiedene Felder ausfüllt. Und wann genau passiert das Ausfüllen? |
|
Nun möchte ich gerne im Anschluss an das ausfüllen eine Javascriptfunktion des Openers aufrufen. Dies geschieht mit opener.checkName();. Das funktioniert im Prinzip, aber auch nur im Prinzip, weil die Funktion eine xajax-Funktion aufruft, die so leider nicht funktioniert. "Geht nicht" ist eine nutzlose Felherbeschreibung. [psf 4.11] http://glasgoogle.de/ |
| Gibt es ansonsten eine Möglichkeit innerhalb des openers zu ermitteln, wenn von einem externen Fenster Werte gesetzt werden. ^ Ist das eine Frage? Welche Werte? |
| Mit onchange wird die Funktion checkName leider nicht aufgerufen. Dann ruf sie doch selbst auf. |
#4
| ||||||
| ||||||
|
|
Thomas 'PointedEars' Lahn wrote: http://glasgoogle.de/ Nach einem Timeout kommt eine xajax-Fehlermeldung, aus der sich leider nicht so viel ersehen lässt. Aber ich vermute, dass xajax versuch den Response an das noch offene Fenster zu schicken und nicht an den opener. [...] Aber hier noch mal ein Versuch den Quelltext verkürzt dazustellen ########## opener.html ########### !-- opener -- script |
|
function checkname(name,id) { xajax_checkname(name,id); return(0); } /script a href="fenster.html" target="fenster">...</a ^^^^^^^^^^^^^^^^[1] ... input type="text" id="input1" onchange="checkname(this.value,4711);" / ^^^^^^^^ Wird nicht aufgerufen, wenn über das fenster gesetzt. |
|
... ########## fenster.html #### script |
|
function schliessen() { opener.document.form1.input1.value="test"; |
|
... opener.checkname('Name',4711); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Das hier funktioniert leider nicht |
|
window.close(); } /script |
#5
| |||
| |||
|
|
Stefan Dreyer wrote: Thomas 'PointedEars' Lahn wrote: http://glasgoogle.de/ Nach einem Timeout kommt eine xajax-Fehlermeldung, aus der sich leider nicht so viel ersehen lässt. Aber ich vermute, dass xajax versuch den Response an das noch offene Fenster zu schicken und nicht an den opener. [...] Aber hier noch mal ein Versuch den Quelltext verkürzt dazustellen ########## opener.html ########### !-- opener -- script script type="text/javascript" Das war ja nur verkürzt. |
|
function checkname(name,id) { xajax_checkname(name,id); return(0); } /script a href="fenster.html" target="fenster">...</a ^^^^^^^^^^^^^^^^[1] ... input type="text" id="input1" onchange="checkname(this.value,4711);" / ^^^^^^^^ Wird nicht aufgerufen, wenn über das fenster gesetzt. Das war zu erwarten. `change' ist ein vom Benutzer ausgelöstes Ereignis. ... ########## fenster.html #### script script type="text/javascript" function schliessen() { opener.document.form1.input1.value="test"; window.opener.... ... opener.checkname('Name',4711); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Das hier funktioniert leider nicht Deiner Fehlerbeschreibung oben entnehme ich, dass opener.checkname() durchaus aufgerufen wird. Der Fehler läge also im Aufruf von xajax_checkname(). Mich wundert jedoch, dass nicht bereits der Aufruf opener.checkname() fehlschlägt; die Eigenschaft `window.opener' in nicht mit Script geöffneten Fenstern[↑1] sollte den Wert `null' haben. window.close(); } /script Sofern Du nicht eine Fehlermeldung übersehen hast, benutzt Du anscheinend xajax_checkname() fhcsal. Nein, das nicht. Denn der Aufruf funktioniert einwandfrei, wenn ich das |
|
Der Lösungsansatz besteht also darin, jenen Aufruf zu debuggen oder sich an Leser einer GABELN zu wenden, die sich mit `xajax' beschäftigt. |
#6
| ||||
| ||||
|
|
Thomas 'PointedEars' Lahn wrote: Stefan Dreyer wrote: Thomas 'PointedEars' Lahn wrote: http://glasgoogle.de/ Nach einem Timeout kommt eine xajax-Fehlermeldung, aus der sich leider nicht so viel ersehen lässt. Aber ich vermute, dass xajax versuch den Response an das noch offene Fenster zu schicken und nicht an den opener. [...] Aber hier noch mal ein Versuch den Quelltext verkürzt dazustellen ########## opener.html ########### !-- opener -- script script type="text/javascript" Das war ja nur verkürzt. |
|
[...] Sofern Du nicht eine Fehlermeldung übersehen hast, benutzt Du anscheinend xajax_checkname() fhcsal. Nein, das nicht. Denn der Aufruf funktioniert einwandfrei, wenn ich das Formular von Hand ausfülle. |
|
Der Lösungsansatz besteht also darin, jenen Aufruf zu debuggen oder sich an Leser einer GABELN zu wenden, die sich mit `xajax' beschäftigt. Lösungsansätze gäbe es ansonsten noch andere: |
|
- Skript schreiben, dass alle 2 Sekunden nachschaut, ob das Feld gefüllt ist und dann die checkname aufruft. Finde ich aber nicht so gut. - Die Geschichte mit dem Fenster wegschmeißen und komplett mit AJAX realisieren. Das wäre dann wohl doch das sauberste. |
#7
| |||
| |||
|
|
Deine Logik ist fehlerhaft. Wenn so wie beschrieben xajax_checkname() aufgerufen aus checkname() aufgerufen aus einem anderen Fenster eine Fehlermeldung wirft, checkname() sonst aber nicht, benutzt Du xajax_checkname() offensichtlich fhcsal. |
| Der Lösungsansatz besteht also darin, jenen Aufruf zu debuggen oder sich an Leser einer GABELN zu wenden, die sich mit `xajax' beschäftigt. Lösungsansätze gäbe es ansonsten noch andere: Aber keine brauchbaren. - Skript schreiben, dass alle 2 Sekunden nachschaut, ob das Feld gefüllt ist und dann die checkname aufruft. Finde ich aber nicht so gut. - Die Geschichte mit dem Fenster wegschmeißen und komplett mit AJAX realisieren. Das wäre dann wohl doch das sauberste. Nur dass dann nicht nur Benutzer ohne Script-Support, sondern auch noch alle ohne "AJAX"-Support in die Röhre gucken. |
#8
| ||||||
| ||||||
|
|
Thomas 'PointedEars' Lahn wrote: Deine Logik ist fehlerhaft. Wenn so wie beschrieben xajax_checkname() aufgerufen aus checkname() aufgerufen aus einem anderen Fenster eine Fehlermeldung wirft, checkname() sonst aber nicht, benutzt Du xajax_checkname() offensichtlich fhcsal. Nein definitiv nicht, |
|
der Fehler könnte allenfalls in xajax liegen. |
|
Der Lösungsansatz besteht also darin, jenen Aufruf zu debuggen oder sich an Leser einer GABELN zu wenden, die sich mit `xajax' beschäftigt. Lösungsansätze gäbe es ansonsten noch andere: Aber keine brauchbaren. - Skript schreiben, dass alle 2 Sekunden nachschaut, ob das Feld gefüllt ist und dann die checkname aufruft. Finde ich aber nicht so gut. - Die Geschichte mit dem Fenster wegschmeißen und komplett mit AJAX realisieren. Das wäre dann wohl doch das sauberste. Nur dass dann nicht nur Benutzer ohne Script-Support, sondern auch noch alle ohne "AJAX"-Support in die Röhre gucken. Wenn Du keine Ahnung hast,... |
|
Wozu sind denn Javascript und AJAX da? Natürlich umbrauchbare Zusatzfunktionen in Applikationen einzubauen, die anders so oder nur sehr umständlich möglich wären. Das ändert aber nichts an der generellen Benutzbarkeit. |
|
Außerdem gibt es in dem System keine Benutzer ohne Skript-Support, eben weil die Benutzer einen Mehrwert wollen. |
|
Es geht hier nicht um eine öffentlich zugängliche Internetseite. |
#9
| |||||||
| |||||||
|
|
Stefan Dreyer wrote: Thomas 'PointedEars' Lahn wrote: Deine Logik ist fehlerhaft. Wenn so wie beschrieben xajax_checkname() aufgerufen aus checkname() aufgerufen aus einem anderen Fenster eine Fehlermeldung wirft, checkname() sonst aber nicht, benutzt Du xajax_checkname() offensichtlich fhcsal. Nein definitiv nicht, Doch. |
| der Fehler könnte allenfalls in xajax liegen. Wenn denn xajax dafür ausgelegt wäre. Das behauptest Du jedoch lediglich. |
| Wenn Du keine Ahnung hast,... Dann hätte ich nicht gepostet. |
|
Dafür, dass Du hier erst seit kurzem postest, lehnst Du Dich erstaunlich weit aus dem Fenster. |
| Wozu sind denn Javascript und AJAX da? Natürlich umbrauchbare Zusatzfunktionen in Applikationen einzubauen, die anders so oder nur sehr umständlich möglich wären. Das ändert aber nichts an der generellen Benutzbarkeit. Das kann ich in Deinem Fall nur hoffen. Außerdem gibt es in dem System keine Benutzer ohne Skript-Support, eben weil die Benutzer einen Mehrwert wollen. Das ist ein Fehlschluss. Es ist mit dem nötigen Minimalclue ein Leichtes, Webressourcen zu erstellen, die mit und ohne Script-Support sowie mit und ohne "AJAX"-Support funktionieren. |
| Es geht hier nicht um eine öffentlich zugängliche Internetseite. Das spielt keine Rolle, und es gibt keine Internetseiten. Ersteres spielt sehr wohl eine Rolle. Letzteres ist reine Definitions- |
|
Da Du offensichtlich unwillig bist, an einer Lösung Deines Problems mitzuarbeiten und hier nur auf Support für die von Dir verwendete aber nicht verstandene Bibliothek aus bist, ist hiermit EOD für mich. |
![]() |
| Thread Tools | |
| Display Modes | |
| |