Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Markus am 10.09.02 - 15:58:26

Titel: Viewer Applet und submit()
Beitrag von: Markus am 10.09.02 - 15:58:26
Hallo,

wenn ich eine Maske mit einem RT-Feld (Applet Viewer vewenden) habe, die ich mir im Browser anzeigen lasse, wird dieses Feld korrekt gespeichert, solange ich für die Übergabe der Form an den Server
@Command([FileSave]) verwende. Verwende ich aber Javascript (var f=document.forms[0]; f.submit()), verschwindet der Inhalt des Feldes ins Datennirvana ... Felder anderen Datentyps werden hingegen korrekt gespeichert.  
Hat jemand Ahnung, ob es sich bei diesem Verhalten um einen Bug (wie ich vermute) oder ein Feature handelt und wie man dieses Problem ohne versteckte Button und kryptische (sich ständig verändernde) "return _click(' ...')"-Anweisungen im JavaScript-Code lösen kann?

Gruss
Markus
Titel: Re: Viewer Applet und submit()
Beitrag von: zaphod am 13.09.02 - 23:53:23
hi

kommt mir irgendwie bekannt vor, bin mir nicht mehr sicher, ob wir den bug gelöst hatten...
wir verwenden das view-applet nicht mehr.

eine mögliche lösung deines problemes (funzt nur mit dem IE!):


wir verwenden diese methode, um funktionen oder agents  mit javascript anzuwerfen...

bye bye z
Titel: Re: Viewer Applet und submit()
Beitrag von: heini_schwammerl am 14.09.02 - 12:40:06
Hi Markus,

vor dem Javscript mal folgendes probieren.
document.forms[0].MeinFeldname.value = document.applets.lnaBody.getText("text/html").

Vor dem Speichern muß man die Daten aus dem Applet auslesen da diese sonst als gekapseltes Element nicht berücksichtigt werden.
Wenn es nicht funzt fällt mir auch noch ein anderer Befehl ein.
Gruß

Heini
Titel: Re: Viewer Applet und submit()
Beitrag von: Markus am 16.09.02 - 14:10:00
@ Heini,

document.forms[0].Feldname.value = document.applets.lnaFeldname.getText("text/html");

funktioniert. Besten Dank ...

@ zaphod,

um den versteckten Hotspot wollte ich ja herumkommen. Was verwendet Ihr statt des Applets?

Gruss Markus
Titel: Re: Viewer Applet und submit()
Beitrag von: Markus am 16.09.02 - 15:15:20
Hallo,

da existiert noch ein weiteres Problem mit dem Viewer-Applet:

Wenn ich im Notes-Client ein gif in das Richtext-Feld einfüge, wird dieses im Web normal angezeigt. Gehe ich in den Bearbeiten-Modus, wird das Bild durch den Viewer immer noch angezeigt. Speichere ich das Dokument dann und öffne es erneut, erscheint statt des Bildes ein "x" im Feld. Erst wenn ich wieder in den Bearbeiten-Modus wechsle, wird das Bild wieder korrekt angezeigt. Im Notes-Client bleibt das Bild verschwunden.

Weiss jemand eine Lösung für dieses Problem?
Welche Alternativen zum Applet gibt es?

Gruss
Markus
Titel: Re: Viewer Applet und submit()
Beitrag von: zaphod am 20.09.02 - 00:43:40
hi markus

ich hab deine frage nicht richtig gelesen - hab gedacht du meinst mit viewer applet jenes, welche view's darstellt.

für das richtext applet gibt es möglicherweise einen ersatz: http://www-10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/0ecbfc80064383e600256bd8003a835e?OpenDocument&Highlight=0,editor
was dabei sicher nicht funktioniert ist, dass du das selbe dokument ohne grösseren formatierungs verlust  im web oder im client editieren kannst. aber das funktioniert auch mit dem applet nicht viel besser...

bye ybe z
Titel: Re: Viewer Applet und submit()
Beitrag von: harkpabst_meliantrop am 20.09.02 - 16:32:55
Zitat

Vor dem Speichern muß man die Daten aus dem Applet auslesen da diese sonst als gekapseltes Element nicht berücksichtigt werden.


Oh, du verstehst ja sogar das warum, nicht schlecht. Aber nochmal der Vollständigkeit halber: Eine vollständige saubere Lösung liefert Domino durchaus frei Haus. Wenn man das Applet benutzt (warum auch immer ...), erezugt Domino automatisch diese Funtion auf der Seite ...

Code

function _getEditAppletData(){
 var form = document._Contact;
 for(i=0;i<form.elements.length;i++) {
    if(form.elements[i].editorApplet != null) {
       form.elements[i].value = form.elements[i].editorApplet.getText("text//html");
    }
 }
 return true;
}


(Meine Beispielmaske hieß übrigens Contact, wie man sieht .. :)) ... und die macht genau das (mit ein paar Abfragen drumherum).

Also einfach nur vor dem Submit _getEditAppletData() aufrufen und fertig.

Sogar ohne dass man es verstehen muss ... ;)

Titel: Re: Viewer Applet und submit()
Beitrag von: Markus am 25.09.02 - 16:36:28
Hallo alle zusammen,

erstmal (etwas verspätet) vielen Dank für die Antworten. Wenn ich das richtig sehe, erzeugt der  "Richtexteditor" der unter
"http://www-10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd /0ecbfc80064383e600256bd8003a835e?OpenDocument&Highlight=0,editor"
angeboten wird, kein Richtext-Format, sondern HTML ?!? M.E. unbrauchbar, wenn ich Dokumente im Browser und im Notes-Client darstellen will.

Zitat
Wenn man das Applet benutzt (warum auch immer ...)

das hört sich ja so an, als gebe es eine vernünftige Alternative zum Applet ...

Gruss
Markus
Titel: Re: Viewer Applet und submit()
Beitrag von: harkpabst_meliantrop am 25.09.02 - 16:50:55
Zitat

was dabei sicher nicht funktioniert ist, dass du das selbe dokument ohne grösseren formatierungs verlust  im web oder im client editieren kannst. aber das funktioniert auch mit dem applet nicht viel besser...


Wie zaphod schon sagt, vergiss es.

Das, was (manche) vom Notes-Client her gewöhnt sind (My RichText-Feld is my castle, hier schmeiß ich rein, was mir gefällt), ist nunmal kein Konzept des Internet.

Es gibt für den IE (und nur für den) ja noch so ein ActiveX Editor Control. Manche sind davon begeistert, andere sagen "Aha, ActiveX". Aber ich glaube kaum, das ausgerechnet das die Daten notes-mäßig in ein RT-Feld speichern kann.
Titel: Re: Viewer Applet und submit()
Beitrag von: Markus am 07.10.02 - 16:02:19
Hello again,

irgendwie kann ich das Problem nicht umgehen. Auch wenn RT-Felder sicher kein "Internet-Konzept" darstellen, fordern unsere Kunden und meine Chefs bestimmte weitergehende Editiermöglichkeiten. Dazu gehört insbesondere innerhalb eines Textes per Link auf andere Dokumente zu referenzieren.  Dies ist bei uns bereits im Notes-Client nicht besonders sauber gelöst (Zwischenablage und Copy & Paste). Die sauberste Lösung ist m.E. das Applet anzupassen. Leider sind meine bisherigen Versuche die Kabinet-Dateien zu entpacken und zu recomplieren fehlgeschlagen. Meine Frage an etwaige Java-Experten: Gibt es eine Möglichkeit an die Sourcen ranzukommen?

Gruss
Markus