【问题标题】:AUI input onchange detection doesn't workAUI 输入 onchange 检测不起作用
【发布时间】:2018-06-08 00:14:56
【问题描述】:

我正在使用 Liferay 6.1。 我的 JSP 有输入文本。我正在输入文本上写入值,并希望将该值传递给 Portlet 控制器。但该操作不会发送到控制器。

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>

在控制器中

@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);
    }

【问题讨论】:

    标签: javascript liferay-6 liferay-aui


    【解决方案1】:

    我认为你必须用 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 调用中使用的资源。

    【讨论】:

    • 非常感谢您的回复,尝试过但没有任何反应
    • 嗨 Jam,我已经更新了我的答案,包括如何使用 ajax 或从 javascript 进行调用,请您使用它并进行测试。
    猜你喜欢
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 2019-08-29
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    • 2015-10-26
    相关资源
    最近更新 更多