gpt4 book ai didi

java - 如何防止Liferay form submission with Javascript?

转载 作者:行者123 更新时间:2023-12-02 00:43:24 25 4
gpt4 key购买 nike

我有一个相当遗留的项目,我们使用一些基于 Java 的门户/引擎,称为 Liferay。

在其中一个 .jsp 文件中,我有以下表单(缺少逻辑和不相关代码,但存在表单、提交逻辑和处理程序):

<aui:form action="/someURL" method="post" name="fm" enctype="multipart/form-data">
<aui:fieldset >
//Some code..
<aui:button onClick="someJSandLiferayMethod();" type="submit" value='someNameHere' />
</aui:fieldset>
</aui:form>

此外,在同一个 .jsp 文件中,我有以下代码:

<script type="text/javascript">
AUI().use(
'aui-tooltip', 'aui-base', 'selector-css3',
function (A) {
var form = A.one('#<portlet:namespace />fm');

if (form) {
form.on(
'submit',
function(event) {
//Some code here.. where validationErrors is either getting an object or not.
//Ultimate aim is to check validationErrors and depending on whether it has something or not, act accordingly. Namely:
//Do NOT submit the form if there are errors, and do otherwise.

if (validationErrors) {
event.halt();
event.stopImmediatePropagation();
}
}
);
}
});
</script>

正如您在评论中看到的,想法是当存在 validationErrors 时不要提交表单。然而,这不起作用。

请在简单地将我重定向到其他问题之前,请记住,我已经看过其中的大多数。是的,他们可能为那些了解这个特定领域的人提供了一些答案 - Liferay。但对我来说,这有点棘手..

我故意省略了这里的所有样板文件,只留下了导致问题的代码。

也许你能给我一个明确的想法和建议如何解决这个问题?

谢谢!

最佳答案

如果您引用以下网址,您可以添加调用submitForm方法来提交表单 https://github.com/liferay/liferay-portal/blob/7.1.x/modules/apps/login/login-web/src/main/resources/META-INF/resources/login.jsp

在脚本中您可以引用“submitForm(form)”

    <aui:script sandbox="<%= true %>">
var form = document.getElementById('<portlet:namespace /><%= formName %>');

if (form) {
form.addEventListener(
'submit',
function(event) {
<c:if test="<%= Validator.isNotNull(redirect) %>">
var redirect = form.querySelector('#<portlet:namespace />redirect');

if (redirect) {
var redirectVal = redirect.getAttribute('value');

redirect.setAttribute('value', redirectVal + window.location.hash);
}
</c:if>

**submitForm(form);**
}
);

关于java - 如何防止Liferay <aui :form> form submission with Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57918290/

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