Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LisaS am 05.05.04 - 10:02:12

Titel: onSubmit-Event im Notes-Client Deaktivieren?
Beitrag von: LisaS am 05.05.04 - 10:02:12
Hallo,
ich versteh die Welt nicht mehr....
Ich möchte im web eine Feldvalidierung mittels JS manchen und habe deshalb in meiner Form im onsumit-Event folgendes Script:
frm=window.document.forms[0];
if ( validationdialogfeld(frm.time_PrjId_1, "Projekt") && validation(frm.time_Date, "Datum") && validation(frm.time_StartTime, "Startzeit" )&& validation(frm.time_EndTime, "Endezeit" ))
{
  return true;
}
else
{
  return false;
}

in den Eigenschaften des onsubmit-Events habe ich run on Web und JavaScript eingestellt.
Im Web klappt alles.
Im Notes-Client kommt folgende Fehlermeldung beim speichern:
JavaScript-Error: validationdialogfeld is not defined
Normaler weise sollte das Script doch gar nicht im Notes-Client ausgeführt werden, oder?
Bug?
Was kann ich tun?
Gruß
Hitcher
Titel: Re:onSubmit-Event im Notes-Client Deaktivieren?
Beitrag von: LisaS am 07.05.04 - 09:08:22
Gibt es in JS so etwas wie @ClientType?
Dann könnte ich ja eine Abfrage machen.

Gruß
Hitcher
Titel: Re:onSubmit-Event im Notes-Client Deaktivieren?
Beitrag von: Glombi am 07.05.04 - 10:07:16
Was steht denn im onSubmit für den Notes Client drin? Da scheint mir der Fehler zu liegen.
Ab R6 werden ja diese ursprünglich für JavaScript gedachten Events auch für den Notes-Client verwendet.
Sprich: Das was früher in Querysave programmiert wurde, muss (sollte) nun in onSubmit programmiert werden.

Andreas
Titel: Re:onSubmit-Event im Notes-Client Deaktivieren?
Beitrag von: LisaS am 07.05.04 - 10:15:03
Das Client-Event ist auf JS eingestellt gewesen, aber kein Code vorhanden.
Hab jetzt aus LS umgestellt und 'Continue = True' eingetragen, aber es kommt trotzdem die JS-Fehler-Meldung
Gruß
Hitcher
Titel: Re:onSubmit-Event im Notes-Client Deaktivieren?
Beitrag von: Glombi am 07.05.04 - 10:20:43
Wo ist denn die Function validationdialogfeld  definiert. Im JS Header?
Der JS Header sollte auch für den Notes Client leer sein - oder ist dort evtl. gemeinsamen JavaScript aktiv?
Titel: Re:onSubmit-Event im Notes-Client Deaktivieren?
Beitrag von: LisaS am 07.05.04 - 10:31:35
Ja, ist im JS Header definiert, aber Notes Client ist leer.
Titel: Re:onSubmit-Event im Notes-Client Deaktivieren?
Beitrag von: Glombi am 07.05.04 - 10:45:34
Das scheint mir ja fast ein Notes Bug zu sein.

Mach mal folgendes: Trage in OnSubmit für den Notes-Client JavaScript ein mit der Formel:
alert("Hallo, ich komme aus dem OnSubmit für Notes")

Teste das jeweils mit dem Web und Notes Client.

Falls in Notes das Hallo kommt, lösche das wieder aus dem on Submit Event.

Was anderes fällt mir jetzt auch nicht ein.
Das gleiche kannst Du auch noch mit dem JS Header probieren.
Irgendwo muss Notes sich das gecached haben. Du solltes auch die cache.ndk löschen.

Andreas
Titel: Re:onSubmit-Event im Notes-Client Deaktivieren?
Beitrag von: LisaS am 07.05.04 - 11:00:54
@Andreas:
Habe alert("Hallo..")in den onSubmit notes-Client eingetragen und es kam trotzdem die alte Fehlermedung.
Dann habe ich den Notes-Client wieder gelöscht und alert("hallo..") ins Script fürs Web ganz am Anfang eingesetzt und es kam wie zu erwarten erst Hallo.. und dann die Fehlermeldung.
Vorher habe ich den Cache gelöscht.
Thats drives me crazy.....
Pragmatische Lösung:
Gibt es eine Abfragemöglichkeit in JS mit der ich feststellen kann ob Browser oder Client zugreift?
Titel: Re:onSubmit-Event im Notes-Client Deaktivieren?
Beitrag von: Glombi am 07.05.04 - 11:12:59
Am besten wird es sein, die machst Du ganze Maske von Grund auf neu. Irgendwo ist was verkehrt.

Zur pragmatischen Lösung: Das ginge so: Du machst ein Feld namens "ClientType", berechnet zur Anzeige mit der Formel
@ClientType.

Dann kannst Du mit JS den Wert abfragen:
"Notes": Notes-Client
"Web": Browser

Davon rate ich allerdings ab, da es ein Problem mit dem Design gibt und Du schleppst da Schrott mit.

Andreas
Titel: Re:onSubmit-Event im Notes-Client Deaktivieren?
Beitrag von: LisaS am 07.05.04 - 11:50:56
Ich denke das ist ein Bug den das Problem habe ich mit einer anderen Form auch.
Ich klammere das onsubmit-Event jetzt erstmal in folgende Abfrage:
var BrowserName = navigator.appName;
if(BrowserName !="Lotus Notes"){
Mein Script....
}
Das funktioniert erstmal, naja toll ist das nicht, aber was besseres fällt mir momentan nicht ein.
ich werde das Problem aber weiter erforschen und eine eventuelle Lösung hier Posten.
Danke für die Hilfe.
Gruß
Hitcher