Ext.Window在显示时窃取表单元素;t隐藏时恢复
Ext.Window steals form elements on showing and doesn't restore on hiding
我有类似以下的HTML
<html>
<form action='action.php'>
<input type="hidden" name="id" value="10" />
<div id="inputs">
<input type="text" name="firstName" /><br/>
<input type="text" name="lastName" />
</div>
</form>
</html>
我必须在窗口中显示#inputs
div。为此,我正在做以下工作。
var inputDialog = new Ext.Window({
title: 'Inputs',
id:'InputsDialog',
contentEl: 'inputs'
});
当调用inputDialog .show()
时,输入将根据需要显示在窗口中。但是发生的情况是#inputs
div脱离窗体显示在窗口中。DOM变成如下所示。
<html>
<form action='action.php'>
<input type="hidden" name="id" value="10" />
</form>
<script>
<!-- Some Ext.Window related script appears here-->
</script>
<div id="InputsDialog">
<!-- Lots of Ext.Window specific HTML -->
<div id="inputs">
<input type="text" name="firstName" /><br/>
<input type="text" name="lastName" />
</div>
</div>
</html>
在调用inputDialog .hide()
时,Window消失,但DOM保持原样,#input
div无法返回到表单;提交表单时,只提交隐藏字段。
是否有可以恢复DOM的配置?
我认为没有一个参数可以让您自动将div恢复回文档。你可以随时使用香草Javascript为你做这件事:
var inputDialog = new Ext.Window({
title: 'Inputs',
id:'InputsDialog',
contentEl: 'inputs',
listeners: {
hide: function(){
var div = document.getElementById('inputs');
var form = document.getElementById('the-form-id');
form.appendChild(div);
}
}
});
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 克隆和恢复”;工具化的“;元素
- 在python中,我如何才能恢复被隐藏的元素的内容
- Ext.Window在显示时窃取表单元素;t隐藏时恢复
- 撤消/恢复从DOM中删除元素
- 如何在用户离开Jquery Mobile中的页面后恢复默认HTML元素
- 是否有可能知道 jquery 可拖动元素将恢复到哪里
- JQuery - 恢复被替换的元素
- jQuery单击功能可从元素中删除属性并在单独单击时恢复属性
- 元素在 JQuery 动画后恢复为原始大小
- 单击另一个元素时恢复上一个值
- 在节点/元素被修改/从DOM中删除后恢复节点/元素
- Javascript显示元素,隐藏元素页面加载.但它会恢复
- CKEditor恢复元素/撤消所有更改
- 使用JQuery恢复Html,除了一些元素
- 如何将删除的元素恢复到jQuery中删除位置之前
- 使用jquery恢复元素样式
- jQuery - 有没有办法“保存”dom元素(css)的状态并恢复到保存的状态等