我有一个包含几个tabPanel的djTabContainer:
正常工作,当我单击提交按钮时,我在QuerySave中进行一些处理并返回false我得到此视图:
如果我单击“客户”选项卡,它会正确显示客户信息,如果我单击“标题”选项卡,它也会正确显示:
我假设它是因为在返回时没有选择选项卡,但不确定如何强制它在失败的QuerySave返回时显示Header选项卡。
答案 0 :(得分:0)
这是因为您在该标签内有一个表单标签。一旦表单提交,它将重定向。你必须以自己的方式处理它以防止它。
可以说,如果“myForm”是您的表单ID,
dijit.byId('#myForm').on("submit", function () {
sendFormToBackEnd(); // this will handle the POST functionality in js
return false; //return false so it wont redirect now
});
或者最简单的一个是在调用本身中附加false。
<form ... action="callSubmit();return false;" >
...
</form>
答案 1 :(得分:0)
我不喜欢使用表单提交按钮。相反,使用带有Dojo的iframe请求的常规按钮:
<div data-dojo-type="dijit/form/From" data-dojo-id="myForm">
<!-- other form fields here -->
<div data-dojo-type="dijit/form/Button">
<script type="dojo/method" data-dojo-event="onClick">
// manually activate validation
if (!myForm.validate()) {
return;
}
require(["dojo/request/iframe"], function(iframe) {
iframe("yourUrl", {
// not sure if you can use the From widget directly
form: myForm.domNode
}).then(function(data) {
// ...
}, function(err) {
// ...
});
});
</script>
Submit
</div><!-- Button -->
</div><!-- Form -->
您显然不必使用标记data-dojo-event
,只需将其全部放在一个名为onClick
的函数中。
答案 2 :(得分:0)
问题是我在Header选项卡中有两个面板。第一个包含错误消息,如果viewScope.vsError!= null,则呈现面板,第二个没有呈现的属性。我所做的是移动了标题面板内的错误面板,似乎已修复它。我猜选项卡不喜欢panelError上的渲染。 无论如何,它的工作方式与我现在的方式相同。 感谢Per,这是一个渲染问题,但不是我想的那样。