如何在Marklogic中使用xquery获取隐藏字段的值?

时间:2012-10-23 09:08:09

标签: xquery marklogic

我在xqy页面中有一个隐藏字段。现在我想通过xquery代码在同一页面中获取它的值。该页面不令人耳目一新。我不想使用javascript。有没有办法在不提交页面的情况下使用xquery获取隐藏字段的值。

3 个答案:

答案 0 :(得分:1)

而不是简单的HTML并直接输出它可以使用XForms。有关XForms的大量文档可在http://en.wikibooks.org/wiki/XForms

获得

然后,您可以使用XForms-Processor(例如XSLTForms或betterForms),它可以在服务器端和客户端使用。这允许您使用纯X技术获取任何字段(不仅仅是隐藏字段)的值。 XForms默认还包括MVC,这非常好。但是,根据您的项目和已存在的代码量,您可能需要进行大量更改,因为它是一项完整的技术。但通常这是避免JavaScript而不是使用X *

的方法

答案 1 :(得分:0)

您需要在浏览器中使用XQuery功能。 MarkLogic运行服务器端,因此需要往返(例如提交)。但你可以看看XQiB:http://www.xqib.org/

HTH!

答案 2 :(得分:0)

这个问题很模糊,可以用几种不同的方式解释:如果你提出更好的问题,你会得到更好的答案。

但我会比吉尔特更乐观一点。如果表单字段位于由服务器XQuery模块构建的HTML表单中,则该模块在构建表单时必须可以使用该数据。安排您的代码,以便在返回完成的页面之前将其用于所需的任何内容。

您可能正在寻找一种神奇的方法来针对实际运行的查询的半完整结果编写XPath。如果没有你的一些工作,这是不可能的。您可以安排代码,以便表单或隐藏字段是由其他函数返回的节点,并相对于它编写XPath以检索其值。如果隐藏字段是使用先前HTTP请求中的请求参数构建的,则可以再次调用xdmp:get-request-field。关键是要安排你的代码,以便在需要时获得所需的数据。

https://github.com/mblakele/cq处的XQuery代码可能有一些有用的示例。它可以使用表单字段播放各种各样的游戏,无论是否有JavaScript。