gpt4 book ai didi

javascript - 当页面包含 iframe 时,Wicket 无法重新加载页面 onSubmit

转载 作者:行者123 更新时间:2023-12-03 08:13:43 24 4
gpt4 key购买 nike

使用 Wicket 按钮提交表单后,当响应包含 iframe 时,页面无法完全重新加载。问题是 wicket 尝试在 window.domready 上绑定(bind)一些事件监听器,但失败了“无法在元素“topRightItemTypeChoice7”上绑定(bind)事件“change”的监听器,因为该元素不在 DOM 中”

我已经使用 httpfox 插件分析了响应文本,响应中存在具有此 id 的组件。

下面是 Wicket 尝试绑定(bind)事件的 JS 片段

Wicket.Event.add(window, "domready", function(event) { 
$('#topRightItemTypeChoice7').uniform();;
Wicket.Ajax.ajax({"c":"topRightItemTypeChoice7","ad":true,"u":"./PrDashBoardConfigurationPage?5-2.IBehaviorListener.0-container-configuratorForm-topRightDiv-topRightItemTypeChoice","e":"change","m":"POST"});;

响应中的 html 组件

<select name="topRightDiv:topRightItemTypeChoice" id="topRightItemTypeChoice7">

当我简单地从页面中删除 iframe 时,一切正常。知道 window.domready 的 iframe 有何不同吗?

最佳答案

我会尽力澄清我自己的问题,因为我发现问题出在哪里。也许有人想知道这个。问题在于 Wicket 提供的 replaceComponentTagBody 方法。我没有在问题中提到有关此方法的使用,这可以让尝试回答的人更容易。我就是这样使用的方法

replaceComponentTagBody(markupStream, openTag, "<iframe id=''/>");

而不是

replaceComponentTagBody(markupStream, openTag, "<iframe id=''></iframe>");

差异在于 iframe 的结束标记,其中 replaceComponentTagBody 对这一点很敏感,并且不允许 Wicket 呈现剩余的 HTML 代码。

关于javascript - 当页面包含 iframe 时,Wicket 无法重新加载页面 onSubmit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34044991/

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