Aem 获取CQ5表单文本组件的输入值

Aem 获取CQ5表单文本组件的输入值,aem,Aem,我们希望获取在单个页面上多次使用的CQ5 Textbox组件的输入值。我们添加了如下所示的组件:- <cq:include path="lastname" resourcetype="demoproject/components/lastname"> <cq:include path="firstname" resourcetype="demoproject/components/firstname"> 其中firstname和lastname是扩展的cq5表单文本

我们希望获取在单个页面上多次使用的CQ5 Textbox组件的输入值。我们添加了如下所示的组件:-

<cq:include path="lastname" resourcetype="demoproject/components/lastname">
<cq:include path="firstname" resourcetype="demoproject/components/firstname">

其中firstname和lastname是扩展的cq5表单文本组件

我们如何获得各个字段的值?我们曾考虑为每个组件提供唯一的ID,但由于我们使用默认的CQ5组件,因此无法为.jsp页面中包含的每个组件设置不同的ID。

Nithalia

如果您将通过cq:include包含一个组件,那么您将只能使用它的一个实例,并且永远无法动态使用它。 您必须将此文本组件的多个实例拖动到Parsys中,然后必须单独配置每个实例。拖动到Parsys中的组件独立于其他组件,因为每次拖动时都会创建不同的节点。而如果将其包括在内,则只会创建一个节点,因此只能进行一次编辑。
如果要进行一些研究,请在Geomartixx站点上多次拖动文本组件,并分别进行配置,然后查看将在/content路径下创建的节点

我不明白为什么每个表单字段需要不同的组件。您可以创建覆盖默认文本组件的通用组件,并将其拖动到parsys中,然后使用“编辑”重命名表单元素。您可以尝试在Geomatrix网站中拖放表单组件。然后,您可以使用FormsHelper Api,参考getValues/GetValuesList方法,使用此方法,您可以获取文本框或任何其他表单组件中输入的值。您好,Sahil,感谢您的回复。实际上,我们需要从各个组件进行服务器调用。当我通过拖放方法创建它们时,我找不到添加服务器特定调用的代码。除此之外,我还想添加带有cq5组件的onBlur()函数。我真的很感谢你的帮助。谢谢你为什么你不能做一件事。通过text.jsp调用servlet中编写的通用方法并将该类导入text.jsp,您可以在该方法中编写业务逻辑,然后在dispatcher/sendredirect的帮助下,您可以调用任何其他servlet或url。类似地,对于onblur事件,您可以在text.jsp中编写一个onblur,在其中生成输入标记并调用javascript方法,该方法将处理所有业务逻辑,因此应创建满足所有需求的中心方法。顺便问一下,为什么需要onblur?当您拖放看到CQ代码时,您必须修改该代码,我建议您查看表单组件和表单API以了解更多详细信息。默认代码不进行任何服务器调用,它只执行提供的操作。onblur都不适用于文本组件。我们使用onblur对表单组件进行验证,但我们使用Jquery验证框架进行验证。嗨,Nithalia,你能解决这个问题吗?