gpt4 book ai didi

javascript - AUI 输入 onchange 检测不起作用

转载 作者:行者123 更新时间:2023-11-30 20:52:44 25 4
gpt4 key购买 nike

我正在使用 liferay 6.1。我的 JSP 有输入文本。我在输入文本上写入值并想将该值传递给 Portlet Controller 。但操作不会发送到 Controller 。

JSP代码

 <form:input type="text"  name="id" path="id" onchange="" onkeydown=""/>
<aui:script use="event, node">
AUI().ready('liferay-portlet-url','node',function(A){
var actionURL = Liferay.PortletURL.createActionURL();
actionURL.setWindowState("<%=LiferayWindowState.NORMAL.toString() %>");
actionURL.setPortletMode("<%=LiferayPortletMode.VIEW %>");
actionURL.setParameter("param","This value comes from Javascript");
actionURL.setParameter("javax.portlet.action","actionMethodByJavaApi");

A.one("#id").set('onchange', actionURL.toString());
A.on("change",function(e){
var idSelect= A.one("#id").val();
});

});
</aui:script>

在 Controller 中

@ProcessAction(name="actionMethodByJavaApi")
public void renderDOB(BindingResult bndingResult, ActionRequest request, ActionResponse response, SessionStatus sessionStatus, Model model)
throws SystemException, IOException, PortalException, AddressException {
logger.info("DOB Action");
// String sampleParam = ParamUtil.get(request, "param", "defaultValue");
// logger.info("Sample Param is ::"+sampleParam);
}

最佳答案

我认为您必须使用 AUI 标记声明您的表单,例如:

<aui:form>
<aui:fieldset>
<aui:input name="verb" id="verb" type="text">
<aui:validator name="required"/>
</aui:input>
<aui:button type="submit" class="btn btn-primary" id="submit" value="Generate"/>
</aui:fieldset>

显然你想要的是一个 Ajax 调用/来自 javascript 的调用,

可以查看这个教程http://www.opensource-techblog.com/2015/07/aui-ajax-in-liferay-portlet.html它公开了要在您的 Ajax 调用中使用的资源。

关于javascript - AUI 输入 onchange 检测不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47990684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com