Liferay aui:具有多个aui:按钮的表单

Liferay aui:具有多个aui:按钮的表单,liferay,liferay-6,alloy-ui,Liferay,Liferay 6,Alloy Ui,我正试图开发一个有三个aui:按钮的aui:表单,这样 <portlet:actionURL name="generateRule" var="generateRuleURL"/> <portlet:actionURL name="generateRuleAnd" var="generateRuleAndURL"/> <portlet:actionURL name="generateRuleOr" var="generateRuleOrURL"/> <

我正试图开发一个有三个aui:按钮的aui:表单,这样

<portlet:actionURL name="generateRule" var="generateRuleURL"/>
<portlet:actionURL name="generateRuleAnd" var="generateRuleAndURL"/>
<portlet:actionURL name="generateRuleOr" var="generateRuleOrURL"/>

<aui:form action="<%= generateRuleURL.toString() %>" method="post">
<aui:fieldset column="false">
<aui:select name="FirstRuleElement" >
<aui:option value="Age">
<liferay-ui:message key="Age" />
</aui:option>
<aui:option value="Country">
<liferay-ui:message key="Country" />
</aui:option>
<aui:option value="Direction">
<liferay-ui:message key="Direction" />
</aui:option>
</aui:select>
<aui:select name="FirstRuleAttribute" >
<aui:option value="Age">
<liferay-ui:message key="Age" />
</aui:option>
<aui:option value="Country">
<liferay-ui:message key="Country" />
</aui:option>
<aui:option value="Direction">
<liferay-ui:message key="Direction" />
</aui:option>
</aui:select>
</aui:fieldset>
<aui:fieldset column="false">
<aui:button-row>
<aui:button type="submit" value="End" />

<aui:button type="submit" value="And"
onClick="<%= generateRuleAndURL.toString()%>" />

<aui:button type="submit" value="Or"
onClick="<%= generateRuleOrURL.toString()%>" />
</aui:button-row>
</aui:fieldset>
</aui:form>
正在使用此函数检索数据

request.getParameter("FirstRuleElement")
但通过单击和或按钮,我无法获得表单的请求参数

你知道我怎么解决这个问题吗

谢谢,, Oriol

而不是这个

<aui:button type="submit" value="And"
onClick="<%= generateRuleAndURL.toString()%>" />

<aui:button type="submit" value="Or"
onClick="<%= generateRuleOrURL.toString()%>" />

,您可以使用下面的javascript

<aui:button type="submit" value="And"
onClick="javascript:submitTheForm('<%= generateRuleAndURL.toString()%>')" />
<aui:button type="submit" value="Or"
onClick="javascript:submitTheForm('<%=generateRuleOrURL.toString()%>')" />

<script>
function submitTheForm(url){
    document.forms['<portlet:namespace/>myform'].action=url;
    document.forms['<portlet:namespace/>myform'].submit();
}
</script>

函数提交表单(url){
document.forms['myform'].action=url;
document.forms['myform'].submit();
}
将name属性作为aui:form的myForm


这是我在docroot文件夹下的view.jsp中的代码

<portlet:defineObjects />

<c:choose>
    <c:when test="<%= themeDisplay.isSignedIn() %>">
        <aui:form action="<%= generateRuleURL.toString() %>" method="post">
            <aui:fieldset column="false">
            <aui:select name="FirstRuleElement" >
                <aui:option value="Age">
                    <liferay-ui:message key="Age" />
                </aui:option>
                <aui:option value="Country">
                    <liferay-ui:message key="Country" />
                </aui:option>
                <aui:option value="Direction">
                    <liferay-ui:message key="Direction" />
                </aui:option>
            </aui:select>
            <aui:select name="FirstRuleAttribute" >
                <aui:option value="Age">
                    <liferay-ui:message key="Age" />
                </aui:option>
                <aui:option value="Country">
                    <liferay-ui:message key="Country" />
                </aui:option>
                <aui:option value="Direction">
                    <liferay-ui:message key="Direction" />
                </aui:option>
            </aui:select>
            <aui:select name="Operator" >
                <aui:option value="=">
                    <liferay-ui:message key="=" />
                </aui:option>
                <aui:option value=">">
                    <liferay-ui:message key=">" />
                </aui:option>
                <aui:option value="<">
                    <liferay-ui:message key='"\<"' />
                </aui:option>
                <aui:option value=">=">
                    <liferay-ui:message key=">=" />
                </aui:option>
                <aui:option value="<=">
                    <liferay-ui:message key="<=" />
                </aui:option>
            </aui:select>
            </aui:fieldset>
            <aui:fieldset column="false">
            <aui:input cssClass="lfr-textarea-container" name="ruleDefinition" style="height: 75px; width: 100%;" type="textarea" value="" wrap="off" />
            <aui:button-row>

                <portlet:actionURL name="generateRule" var="generateRuleURL"/>
                <aui:button type="button" value="End" onClick="<%= generateRuleURL.toString()%>" />

                <portlet:actionURL name="generateRule" var="generateRuleAndURL"/>
                <aui:button type="button" value="And" onClick="<%= generateRuleAndURL.toString()%>" />

                <portlet:actionURL name="generateRule" var="generateRuleOrURL"/>
                <aui:button type="button" value="Or" onClick="<%= generateRuleOrURL.toString()%>" />

                </aui:button-row>
            </aui:fieldset>
        </aui:form>
    </c:when>
    <c:otherwise>
        <div class="portlet-msg-info">
            <aui:a href="<%= themeDisplay.getURLSignIn() %>" label="sign-in-to-your-account" />
        </div>
    </c:otherwise>
</c:choose>


能否尝试将“onClick=”“/>”替换为“href=”并将“type=“submit”替换为“type=“button””。如果不起作用,request.getParameter参数为null。AUI button onClick:单击按钮时要执行的javascript代码。如果此属性以http://开头,则当用户单击该按钮时,该按钮会将您带到该页面。现在,由于您已经在onclick中提供了url,它将访问该url[从http://]开始,但表单不会被提交。你可以编写一些在onclick上调用的js代码,在表单中设置所需的url并提交。你能给我看一个js的示例吗?点击其中一个按钮,我得到这些url。。。我认为document.forms生成的不是一个好的文档。我正在一个名为view.jsp的文件中实现表单
<portlet:defineObjects />

<c:choose>
    <c:when test="<%= themeDisplay.isSignedIn() %>">
        <aui:form action="<%= generateRuleURL.toString() %>" method="post">
            <aui:fieldset column="false">
            <aui:select name="FirstRuleElement" >
                <aui:option value="Age">
                    <liferay-ui:message key="Age" />
                </aui:option>
                <aui:option value="Country">
                    <liferay-ui:message key="Country" />
                </aui:option>
                <aui:option value="Direction">
                    <liferay-ui:message key="Direction" />
                </aui:option>
            </aui:select>
            <aui:select name="FirstRuleAttribute" >
                <aui:option value="Age">
                    <liferay-ui:message key="Age" />
                </aui:option>
                <aui:option value="Country">
                    <liferay-ui:message key="Country" />
                </aui:option>
                <aui:option value="Direction">
                    <liferay-ui:message key="Direction" />
                </aui:option>
            </aui:select>
            <aui:select name="Operator" >
                <aui:option value="=">
                    <liferay-ui:message key="=" />
                </aui:option>
                <aui:option value=">">
                    <liferay-ui:message key=">" />
                </aui:option>
                <aui:option value="<">
                    <liferay-ui:message key='"\<"' />
                </aui:option>
                <aui:option value=">=">
                    <liferay-ui:message key=">=" />
                </aui:option>
                <aui:option value="<=">
                    <liferay-ui:message key="<=" />
                </aui:option>
            </aui:select>
            </aui:fieldset>
            <aui:fieldset column="false">
            <aui:input cssClass="lfr-textarea-container" name="ruleDefinition" style="height: 75px; width: 100%;" type="textarea" value="" wrap="off" />
            <aui:button-row>

                <portlet:actionURL name="generateRule" var="generateRuleURL"/>
                <aui:button type="button" value="End" onClick="<%= generateRuleURL.toString()%>" />

                <portlet:actionURL name="generateRule" var="generateRuleAndURL"/>
                <aui:button type="button" value="And" onClick="<%= generateRuleAndURL.toString()%>" />

                <portlet:actionURL name="generateRule" var="generateRuleOrURL"/>
                <aui:button type="button" value="Or" onClick="<%= generateRuleOrURL.toString()%>" />

                </aui:button-row>
            </aui:fieldset>
        </aui:form>
    </c:when>
    <c:otherwise>
        <div class="portlet-msg-info">
            <aui:a href="<%= themeDisplay.getURLSignIn() %>" label="sign-in-to-your-account" />
        </div>
    </c:otherwise>
</c:choose>