HighDots Forums  

kleines AJAX-Problem

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss kleines AJAX-Problem in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Stefan Dreyer
 
Posts: n/a

Default kleines AJAX-Problem - 11-12-2007 , 10:38 AM






Moinmoin.
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.

Reply With Quote
  #2  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: kleines AJAX-Problem - 11-12-2007 , 10:52 AM






Stefan Dreyer wrote:
Quote:
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?

Quote:
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/

Quote:
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?

Quote:
Mit onchange wird die Funktion checkName leider nicht aufgerufen.
Dann ruf sie doch selbst auf.


PointedEars
--
ich benutze den Befehl BOQuery, um Daten aus meiner Datenbank zu lesen.
Dieser funktioniert im IE 6 auch meistens. Aber auf manchen Rechnern bei
uns in der Firma funktioniert er nicht. [...] Was muß ich installieren?
(Reiner Wahnsiedler in dcljs <ardkdn$d0q$07$1 (AT) news (DOT) t-online.com>)


Reply With Quote
  #3  
Old   
Stefan Dreyer
 
Posts: n/a

Default Re: kleines AJAX-Problem - 11-12-2007 , 12:37 PM



Thomas 'PointedEars' Lahn wrote:
Quote:
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?
Vor dem Schließen des geöffneten Fensters.

Quote:
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/
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.

Quote:

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?
Ja, das sollte eine Frage sein. Die Formularfelder, die ich mit
opener.document.form.input.value setzte. Setze ich die im Formular von
Hand, wird mein onchange aufgerufen. Setze ich die vom anderen Fenster
auf, dann wird das onchange nicht aufgerufen.

Quote:

Mit onchange wird die Funktion checkName leider nicht aufgerufen.


Dann ruf sie doch selbst auf.
Ich weiß ja nicht, wann die Daten aus dem geöffneten Fenster gesendet
werden. Das ist halt asynchron. Und einen extra Button möchte ich
eigentlich nicht setzen. 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>
...
<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>








Reply With Quote
  #4  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: kleines AJAX-Problem - 11-12-2007 , 01:01 PM



Stefan Dreyer wrote:
Quote:
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">

Quote:
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.

Quote:
...
########## fenster.html ####
script
<script type="text/javascript">

Quote:
function schliessen() {
opener.document.form1.input1.value="test";
window.opener....

Quote:
...
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.

Quote:
window.close();
}
/script
Sofern Du nicht eine Fehlermeldung übersehen hast, benutzt Du anscheinend
xajax_checkname() 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.


PointedEars
--
Nimm VerBrecherSCRIPT, denn das ist kein JavaScript-Objekt, wird also bei
keinem vernünftigen Browser geschweige denn auf einer vernünftigen Plattform
funktionieren, so daß Du auch [...] gleich mit VBSCRIPT arbeiten kannst und
dies auch tun solltest. -Georg Maaß, <ao3k78$ije4r$3 (AT) ID-3551 (DOT) news.dfncis.de>


Reply With Quote
  #5  
Old   
Stefan Dreyer
 
Posts: n/a

Default Re: kleines AJAX-Problem - 11-13-2007 , 05:25 AM



Thomas 'PointedEars' Lahn wrote:
Quote:
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.

Quote:
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
Formular von Hand ausfülle.

Quote:
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.


Reply With Quote
  #6  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: kleines AJAX-Problem - 11-13-2007 , 05:44 AM



Stefan Dreyer wrote:
Quote:
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.
So wie Dein Zitat hätte sein sollen:

http://lernst.de/zitieren/kriegst.de/antworten

Quote:
[...]
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.
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.

Quote:
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.

Quote:
- 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.


PointedEars
--
Der erfahrene IE-Fahrer weiß, daß man Slalom am besten im ersten Gang fährt,
weil schnelles Lenkradumreißen bei IE zum Lenkradabreißen führt. Wer
sportlich fahren will, muß Netscape fahren und hin und wieder auch mal
anschieben. ;-) --Georg Maaß, dcljs, <amuqrl$91i3q$1 (AT) ID-3551 (DOT) news.dfncis.de>


Reply With Quote
  #7  
Old   
Stefan Dreyer
 
Posts: n/a

Default Re: kleines AJAX-Problem - 11-13-2007 , 07:32 AM



Thomas 'PointedEars' Lahn wrote:
Quote:
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.

Quote:

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.


Reply With Quote
  #8  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: kleines AJAX-Problem - 11-13-2007 , 08:19 AM



Stefan Dreyer wrote:
Quote:
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.

Quote:
der Fehler könnte allenfalls in xajax liegen.
Wenn denn xajax dafür ausgelegt wäre. Das behauptest Du jedoch lediglich.

Quote:
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,...
Dann hätte ich nicht gepostet. Dafür, dass Du hier erst seit kurzem
postest, lehnst Du Dich erstaunlich weit aus dem Fenster.

Quote:
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.

Quote:
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.

Quote:
Es geht hier nicht um eine öffentlich zugängliche Internetseite.
Das spielt keine Rolle, und es gibt keine Internetseiten.

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.


PointedEars, Score adjusted
--
Dann mußt Du aber eine andere DTD in den Dogtype eintragen,
weil Dich sonst das W3C beißt.

(Georg Maaß in dcljs <an4mm7$aur11$2 (AT) ID-3551 (DOT) news.dfncis.de>)


Reply With Quote
  #9  
Old   
Stefan Dreyer
 
Posts: n/a

Default Re: kleines AJAX-Problem - 11-13-2007 , 09:31 AM



Thomas 'PointedEars' Lahn wrote:
Quote:
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.
Was lässt Dich zu der Annahme verleiten. Ich schrieb doch, dass wenn
checkname von der Seite opener aus aufgerufen wird, ordnungsgemäß
funktioniert. Wo soll denn dann da der Fehler sein, zumal in der
Funktion keinerlei Javascript verwendet oder aufgerufen wird, sondern
nur entsprechende xajax-Funktionen.

Quote:

der Fehler könnte allenfalls in xajax liegen.


Wenn denn xajax dafür ausgelegt wäre. Das behauptest Du jedoch lediglich.
Nein behaupte ich nicht, das war ein Teil meiner Frage anfänglich.
Quote:


Wenn Du keine Ahnung hast,...


Dann hätte ich nicht gepostet.
Anhand Deines Postings ist das leider nicht erkennbar.

Quote:
Dafür, dass Du hier erst seit kurzem
postest, lehnst Du Dich erstaunlich weit aus dem Fenster.
Ich bewege mich schon sehr lange im Usenet und bin eigentlich sehr
freundlich und nicht einer von den Berufsanmotzern. Aber wenn jemand so
an der Fragestellung vorbei redet, nervt mich das irgendwann.

Quote:

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.
Kann das sein, dass Du meine Antworten ger nicht liest? Ich schrieb,
dass die Applikation sehr wohl ohne Javascript funktioniert.

Quote:

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-
sache.

Quote:
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.
Wenn Du zur Lösung des Problems betragen würdest, dann würde ich Dich
auch ernst nehmen. Ich will keinen xajax-Support, sondern habe die Frage
zu Javascript gestellt.


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.