Hi Folks,
Domino setzt Keyword Felder, die ein Refresh beim ändern des Keywords auslösen so um, dass ein Standard Javascript mit der Maska geladen wird, mit der Funktion "_doClick". In dem entsprechenden Keyword Feld gibt es dann einen onChange Event, der dieses _doClick aufruft. Die Funktion sieht aus wie folgt:
<script language="JavaScript" type="text/javascript">
<!--
document._domino_target = "_self";
function _doClick(v, o, t, h) {
var form = document._researchActivity;
if (form.onsubmit) {
var retVal = form.onsubmit();
if (typeof retVal == "boolean" && retVal == false)
return false;
}
var target = document._domino_target;
if (o.href != null) {
if (o.target != null)
target = o.target;
} else {
if (t != null)
target = t;
}
form.target = target;
form.__Click.value = v;
if (h != null)
form.action += h;
form.submit();
return false;
}
// -->
</script>
Die Bedeutung der Parameter:
v ist der Name des Formulars, welches abgeschickt wird (in der Regel "$Refresh")
o ist das Quelldokument (this)
t ist das Target ("_self")
h ist die Formaction, die beim Keyword Refresh so aufgebaut ist: "#_RefreshKW_name"
"name" in "#_RefreshKW__name" ist der Name des Keyword Feldes, dem ein Underscore "_" vorangestellt wird. Die eigentliche auslösende Funktion ist das "_RefreshKW" was vermutlich "Refresh Keywords" heisst.
Meine Frage dazu: ist diese Funktion irgendwo dokumentiert? In der Notes Hilfe jedenfalls nicht. Gibt es eine äquivalente Funktion auch für Hidewhen Formeln, vielleicht "_RefreshHW" oder so?
Viele Grüße
Harry
Meine Frage dazu: ist diese Funktion irgendwo dokumentiert? In der Notes Hilfe jedenfalls nicht.
Das ist der code, den die Domino HTTP Engine erzeugt. Mehr Dokumentation als den code selber gibt es für Notes-Anwendungsentwickler meines Wissens nicht. Aber du hast es ja selbst herausgefunden.
Gibt es eine äquivalente Funktion auch für Hidewhen Formeln, vielleicht "_RefreshHW" oder so?
Nein. Meiner Ansicht nach kann es das auch gar nicht geben. Hidden Bereiche in einer Maske werden gar nicht an den Client geschickt.
Sonst müsste es im html quellcode der Seite sowas geben wie:
<field name="xxxx" value="1111" visibility="hidden">
Durch das Hidden feature von Notes versteckte Bereiche werden aber wie gesagt gar nicht als HTML an den Client gesendet.
Eine neu-Berechnung der hide-when-Formeln genötigt deshalb immer einen neuen Roundtrip gegen den Server. Clientseitiges JavaScript reicht dafür aus obigen Gründen nicht aus.
korrigiert mich, wenn ich falsch liege
Axel