{"id":409,"date":"2011-12-06T10:12:24","date_gmt":"2011-12-06T08:12:24","guid":{"rendered":"http:\/\/hasselba.ch\/blog\/?p=409"},"modified":"2011-12-06T12:58:32","modified_gmt":"2011-12-06T10:58:32","slug":"quick-n-dirty-das-xphidden-element","status":"publish","type":"post","link":"https:\/\/hasselba.ch\/blog\/?p=409","title":{"rendered":"Quick-n-Dirty: Das xp:hidden-Element"},"content":{"rendered":"<p>Durch die Verwendung des &lt;xp:hidden&gt;-Elements l\u00e4sst sich ein verstecktes Feld auf der XPage anlegen.<\/p>\n<p>Hier ein Beispiel mit einem statischen Wert:<\/p>\n<pre>&lt;xp:inputHidden id=\"inputHidden1\" value=\"abc\" \/&gt;<\/pre>\n<p>Die XPages-Engine rendert daraus diesen HTML-Code:<\/p>\n<pre>&lt;input type=\"hidden\" id=\"view:_id1:inputHidden1\"\r\n   name=\"view:_id1:inputHidden1\" value=\"abc\"&gt;<\/pre>\n<p>Soweit so gut, doch wenn man den Wert dynamisch zuweisen will, rendert die XPages-Engine nicht mehr ein referenzierbares Feld,&#8230;<\/p>\n<pre>&lt;xp:inputHidden id=\"inputHidden1\"&gt;\r\n   &lt;xp:this.value&gt;\r\n      &lt;![CDATA[#{javascript:\"abc\"}]]&gt;\r\n   &lt;\/xp:this.value&gt;\r\n&lt;\/xp:inputHidden&gt;<\/pre>\n<p>&#8230; sondern einen &lt;span&gt;-Tag, der nat\u00fcrlich auch den Wert nicht enth\u00e4lt:<\/p>\n<pre>&lt;span id:\"view:_id1:inputHidden1\"&gt;&lt;\/span&gt;<\/pre>\n<p>Will man trotzdem den Wert des Feldes berechnen, gibt es zwei M\u00f6glichkeiten:<\/p>\n<p>1. Die Berechnung wird auf <em>Compute on page load<\/em> ge\u00e4ndert:<\/p>\n<pre>&lt;xp:inputHidden id=\"inputHidden1\"&gt;\r\n   &lt;xp:this.value&gt;\r\n      &lt;![CDATA[<strong><span style=\"color: #ff0000;\">$<\/span><\/strong>{javascript:\"abc\"}]]&gt;\r\n   &lt;\/xp:this.value&gt;\r\n&lt;\/xp:inputHidden&gt;<\/pre>\n<p>2. Dem Feld wird eine Scope-Variable oder einem Dokumentenfeld via EL zugewiesen<\/p>\n<pre>&lt;xp:inputHidden id=\"inputHidden1\" value=\"#{viewScope.hiddenField}\"&gt;\r\n&lt;xp:inputHidden id=\"inputHidden1\" value=\"#{document1.hiddenField}\"&gt;<\/pre>\n<p>Dann wird wie in der statischen Variante ein verstecktes Feld generiert, was sich sowohl mit CSJS als auch mit SSJS verarbeiten l\u00e4sst.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Durch die Verwendung des &lt;xp:hidden&gt;-Elements l\u00e4sst sich ein verstecktes Feld auf der XPage anlegen. Hier ein Beispiel mit einem statischen Wert: &lt;xp:inputHidden id=&#8220;inputHidden1&#8243; value=&#8220;abc&#8220; \/&gt; Die XPages-Engine rendert daraus diesen HTML-Code: &lt;input type=&#8220;hidden&#8220; id=&#8220;view:_id1:inputHidden1&#8243; name=&#8220;view:_id1:inputHidden1&#8243; value=&#8220;abc&#8220;&gt; Soweit so gut, doch &hellip; <a href=\"https:\/\/hasselba.ch\/blog\/?p=409\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,29,19,9,76,74],"tags":[7,88,77,4,5,32,12,3],"class_list":["post-409","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-expression-language","category-html","category-javascript","category-ssjs","category-xpages","tag-domino","tag-expression-language","tag-html","tag-js","tag-ssjs","tag-tipp","tag-web","tag-xpages"],"_links":{"self":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=409"}],"version-history":[{"count":6,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/409\/revisions"}],"predecessor-version":[{"id":415,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/409\/revisions\/415"}],"wp:attachment":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}