从javascript生活中传递参数

Pass parameters from javascript liferay

本文关键字:参数 javascript 生活      更新时间:2023-09-26

使用IPC调用另一个portlet

我的问题是我想传递隐藏字段的值。

但是如果我分配jsp脚本

<%! public String projectid= "300015"; %>`
<portlet:param name="projectid" value="<%= projectid%>" />

it is working fine.

但是我需要传递隐藏字段的值:

<input type="text" name="hiddenprojectidBox" id="hiddenprojectidBox">

在位置<%= projectid%>

问题解决了。它可能会帮助其他人。不需要隐藏字段

var portletURL = new Liferay.PortletURL('ACTION_PHASE');
            portletURL.setWindowState("maximized");
            portletURL.setPortletId("apseprojectmgmtportlet_WAR_apseprojectmgmtportlet")
            portletURL.setParameter("_spage", "/apse-projectmgmt-portlet/apse-projectmgmt-portlet/projectCostingSheetAction2");
            portletURL.setPortletMode('view');
            portletURL.setParameter("projectid", projectid);
            portletURL.setParameter("limit", 10); 
            portletURL.setParameter("offset", 0);
            document.getElementById('myForm').action =portletURL.toString();
            document.getElementById('myForm').submit();

如果您正在使用IPC使用liferay javascript api,那么下面的代码可以帮助您,

调用portlet javascript,

Liferay.fire('UPDATE_PROJECT', {
   projectId : A.one('<portlet:namespace />hiddenprojectidBox'),
});

接收portlet javascript

Liferay.on('UPDATE_PROJECT', function(data) {   
   // When event is being executed, getState of the selected countryCode via ajax call     using resourceURL   
   //data.projectId will give the value of the project id passed from calling portlet
} );