为什么在我的HTML文件中创建新表而不是刷新同一个表
Why are new tables being created instead of the same one being refreshed in my HTML file?
我该怎么做才能在点击显示时刷新表?目前,每当点击显示时,就会在上一个表的下面创建一个新表。
当页面第一次加载时,我希望在输入字段下面显示整个表(即我的整个XML文件(链接到XSL文件))。我该怎么做?
在IE(而不是Firefox)中,每当用户单击显示按钮时,输入部分就会消失,只显示包含XML内容的表。如何让IE保留输入字段并在下面显示表格?这是我代码的一个片段,希望它包含了所有重要的部分。。。提前谢谢!
<html>
.........
......
<script type="text/javascript">
function filterTable(f)
{
................
.......
if (moz)
{
...........
....
var proc = new XSLTProcessor();
proc.importStylesheet(stylesheet);
var resultFragment = proc.transformToFragment(xmlDoc, document);
document.getElementById("target4").appendChild(resultFragment);
}
else if (ie)
{
.....
......
value.setAttribute("select", "books/scifi" + filter);
value2.setAttribute("select", sorter);
document.write(xmlDoc.transformNode(stylesheet));
}
}
</script>
<form>
...........
....
<input type="button" value="Display" onClick="filterTable(this.form)"/>
</form>
<body id="target4">
</body>
</html>
write()将覆盖整个文档,当在加载文档后使用时。也可以使用另一种方法来注入新内容,例如设置元素的innerHTML(DOM方法在这里不起作用,因为IE不允许在文档之间移动节点)。
与评论相关:
从获得的表的标记
xmlDoc.transformNode(stylesheet)
您必须首先从此标记创建一个节点:
//create a dummy-wrapper
var wrapper=document.createElement('div');
//insert the markup
wrapper.innerHTML=xmlDoc.transformNode(stylesheet);
//inject the first child into the document
document.getElementById("target4").appendChild(wrapper.firstChild);
//delete the wrapper, we don't need it anymore
delete wrapper;
相关文章:
- 强制模板刷新ember.js
- 如何通过ajax刷新JSF填充的javascript变量
- 如何解决Yii中的页面刷新问题
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- Jquery提交表单而不刷新
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- 刷新页面后会出现警报
- 刷新后保留对网页的更改
- 如何在不刷新页面的情况下更新显示框
- 重定向时角度刷新浏览器
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- Javascript,输出结果后页面不断刷新
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 刷新父窗口后无法关闭窗口
- 刷新页面时hasClass不起作用
- X秒后刷新select元素
- chart.series[id].remove()无法刷新高位图表/高位股票中其他系列的图例属性
- 触发媒体查询断点时刷新页面
- 如何刷新列表框内容onclick或blur事件
- 为什么在我的HTML文件中创建新表而不是刷新同一个表