Javascript 如何将liferay验证程序与js提交一起使用?
我尝试在Liferay 6.2上使用带有javascript的Liferay验证程序 有一个问题是我的按钮必须使用带有按钮onlick的提交表单,但当以这种方式提交时,Liferay表单验证程序没有触发器阻止提交。它只是在我使用按钮类型submit时触发的 下面是一个示例:Javascript 如何将liferay验证程序与js提交一起使用?,javascript,html,liferay,liferay-6,Javascript,Html,Liferay,Liferay 6,我尝试在Liferay 6.2上使用带有javascript的Liferay验证程序 有一个问题是我的按钮必须使用带有按钮onlick的提交表单,但当以这种方式提交时,Liferay表单验证程序没有触发器阻止提交。它只是在我使用按钮类型submit时触发的 下面是一个示例: <portlet:actionURL name="updateURL" var="submitURL"/> <aui:form name="fm2" id="fm2" action="<%=sub
<portlet:actionURL name="updateURL" var="submitURL"/>
<aui:form name="fm2" id="fm2" action="<%=submitURL %>" method="post">
<aui:input name="userName" value='' label="User Name"></aui:input>
<aui:input name="password" value='' label="Password"></aui:input>
<aui:button type="button" name="logIn" id="logIn" value="Login" />
</aui:form>
<aui:script>
AUI().use('aui-base','liferay-form','aui-form-validator',function(A){
A.one("#<portlet:namespace/>logIn").on("click",function(){
submitForm(document.<portlet:namespace />fm2);
});
Liferay.Form.register(
{
id: '<portlet:namespace/>fm2',
fieldRules: [
{
body: '',
custom: false,
errorMessage: '',
fieldName: '<portlet:namespace/>password',
validatorName: 'required'
},
{
body: '',
custom: false,
errorMessage: '',
fieldName: '<portlet:namespace/>userName',
validatorName: 'required'
}
]
});
});
</aui:script>
你可以做一件事
<aui:form name="fm2" id="fm2" action="javascript:void(0)" method="post">
它将阻止您的提交事件并触发aui表单验证
现在,在onClick函数中,您可以将提交url分配给表单操作,如下所示
$("#<portlet:namespace/>logIn").on("click",function(){
var url = '${submitURL}';
$('#<portlet:namespace />fm2').attr('action', url);
$('#<portlet:namespace />fm2').trigger("submit");
});
$(“#登录”)。在(“单击”,函数(){
var url='${submitur}';
$('#fm2').attr('action',url);
$('fm2')。触发器(“提交”);
});