我的VBScript应用程序中有一个Sub。它会在单击搜索按钮时填充页面上的表格,还有另一个按钮可使用window.location.reload()
方法清除页面。
我的问题是当用户点击填充表格的搜索按钮时,用户可以再次点击搜索按钮,表格会附加更多数据。
我希望首先清除页面,然后填充表格。
有迭代,所以我不能简单地在window.location.reload()
Sub。
Search(directory)
<p>
<input name="Clear" type="button" class = "button" value="Clear" OnClick="window.location.reload()">
<input name="Search" type="button" class = "buttongo aright" value="Search" OnClick="Search">
</p>
我的VBScript代码是:
Sub Search(directory)
Dim flag
Dim found
Dim nodeinfo(4)
Dim ipath
On Error Resume Next
Set fldr = fso.GetFolder(FolderPath)
Set Fls = fldr.Files
For Each item In Fls
sFSpec = FSO.GetAbsolutePathName(item)
If LCase(FSO.GetExtensionName(item.Name)) = "xml" Then
objMSXML.async = True
'...
'More code here to generate table mytable ...
'...
End If
Next
Set fldrs = fldr.SubFolders
For Each item In fldrs
Search item.path
Next
End Sub
目前,如果表格中有数据,我将禁用搜索按钮:
If no_of_occurence > 0 Then document.getElementById("search_btn").disabled = True
修改
生成表格:
Set mytable = document.createElement("table")
mytable.setAttribute "id", "mytable"
mytable.setAttribute "align", "center"
Set thead = document.createElement("thead")
Set tr = document.createElement("tr")
Set th = document.createElement("th")
th.setAttribute "colSpan","5"
thead.appendChild tr
Set tr2 = document.createElement("tr")
Set th1 = document.createElement("th")
Set th2 = document.createElement("th")
Set th3 = document.createElement("th")
Set th4 = document.createElement("th")
Set th5 = document.createElement("th")
th1.innerText = "ABC"
th2.innerText = "DEF"
th3.innerText = "GHI"
th4.innerText = "JKL"
th5.innerText = "MNO"
tr2.appendChild th1
tr2.appendChild th2
tr2.appendChild th3
tr2.appendChild th4
tr2.appendChild th5
thead.appendChild tr2
mytable.appendChild thead
Set td1 = document.createElement("td")
td1.innerText = nodeinfo(0)
tr3.appendChild td1
如果返回结果,则有一个变量,例如no_of_results
,它包含一个数字。基于该变量,我正在禁用该按钮。
答案 0 :(得分:1)
创建<table>
(和<thead>
)只有在它们不存在的情况下才会创建:
Set mytable = document.getElementById("mytable")
If mytable Is Nothing Then
Set mytable = document.createElement("table")
'...
Set thead = document.createElement("thead")
'...
mytable.appendChild thead
End If
并将表格内容放入<tbody>
,这样您就可以在添加新搜索结果之前删除现有搜索结果:
For Each tbody In mytable.getElementsByTagName("tbody")
mytable.removeChild(tbody)
Next
Set tbody = document.createElement("tbody")
'...
'create rows and cells and append them to the table body
'...
mytable.appendChild tbody
答案 1 :(得分:1)
我也有同样的问题,但在我的情况下,我使用Javascript并以不同的方式处理这种情况。在这种情况下,尝试使用另一个函数来调用clear和load函数。
尝试此代码,单击一下按钮调用2个功能
<input name="Search" type="button" class = "buttongo aright" value="Search" OnClick="window.location.reload(); Search();">