我有一个Atlassian SDK webwork1模块及其视图:
<webwork1 key="ai-config" name="AI Config" i18n-name-key="ai-config.name">
<description key="ai-config.description">The AI Config Plugin</description>
<actions>
<action name="com.softgile.jira.webwork.AIConfigAction" alias="AIConfigAction">
<view name="success">/templates/ai-config/success.vm</view>
</action>
</actions>
</webwork1>在视图中,我有几个表单:
<form class="aui" id="configForm" method="post" action="AIConfigAction!saveIp.jspa">
...
</form>
<form class="aui" id="serviceName" method="post" action="AIConfigAction!saveService.jspa">
...
</form>我还有一个按钮,它是用JS控制的:
<div class="field-group">
<label for="authenticate">
<span class="aui-icon aui-icon-large aui-iconfont-app-access">Insert meaningful text here for accessibility</span>
</label>
<div class="buttons">
<button class="aui-button aui-button-primary" id="authenticate">Authenticate</button>
</div>
</div>在JS文件中,我有类似这样的东西:
AJS.toInit(function(){
AJS.$(document).on('click', '#authenticate', function(e) {
e.preventDefault();
alert("authenticate");
});
});两个表单都可以正常工作,当我单击按钮时,JS也可以工作。但是当我提交其中一个表单时,JS停止工作,它只在提交表单之前起作用。我看到URL正在从AIConfigAction.jspa更改为AIConfigAction!saveService.jspa,在这种情况下,JS不起作用。如何让JS正常工作?
发布于 2021-01-15 14:09:18
我自己找到了解决方案。所以,在我的例子中的问题是,我在Webwork的doExecute()方法中包含了web资源。这就是为什么在调用doSave()等其他方法后,web资源停止工作的原因。
解决方案-将web资源包含内容移动到Webwork构造函数:
@Inject
public AIConfigAction(WebResourceManager webResourceManager) {
webResourceManager.requireResourcesForContext("myPlugin");
}https://stackoverflow.com/questions/65697077
复制相似问题