2016-03-28 25 views
0

VBScript uygulamasında bir Altım var. Bir arama düğmesini tıklatarak sayfadaki bir tabloyu doldurur, window.location.reload() yöntemini kullanarak sayfayı temizleyen başka bir düğme vardır.Koşullu olarak bir işlevi çağırın

Sorunum, bir kullanıcı, bir tabloyu doldurduğu arama düğmesini tıklattığında, kullanıcı arama düğmesini tekrar tıklatabilir ve tabloya daha fazla veri eklenebilir.

Önce sayfanın temizlenmesini ve sonra tablonun doldurulmasını istiyorum. Yineleme vardır, bu yüzden 'u Search(directory) Sub.

<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> 

Benim VBScript kodu:

If no_of_occurence > 0 Then document.getElementById("search_btn").disabled = True 

Düzenleme

oluşturmak için: Tablodaki veriler varsa

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 

Şu anda arama düğmesi devre dışı am tablo:

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 arasında bir değişken var, sonuçların döndürülmesi durumunda bir numara tutuyor. Bu değişkene dayanarak düğmeyi devre dışı bırakıyorum.

cevap

1

oluştur <table> (ve <thead>) zaten var olmayan yalnızca:

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 

Ve yenilerini eklemeden önce mevcut arama sonuçlarının kaldırılması, böylece bir <tbody> içine tablo içerik koymak:

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

Aynı sorunda da vardı, ama benim durumumda Javascript kullanmış ve bu durumu farklı şekilde ele almıştım. Bu durumda, hem temiz hem de yükleme işlevlerini çağıran başka bir işlevle deneyin.

kontrol eder ........

<input name="Search" type="button" class = "buttongo aright" value="Search" OnClick="window.location.reload(); Search();"> 
+0

serin sesler tıklayın tek butona 2 işlevleri çağırmak, bu kodu deneyin. :-) – user2816085

+0

Her iki işlev denetimini de çağırıyor ... – user2816085

İlgili konular