Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

vbscript loop with innerHTML

Posted on 2009-04-16
2
Medium Priority
?
3,771 Views
Last Modified: 2012-05-06
I'm trying to use innerHTML in a loop, but it only shows one return at a time, and i want it to show all returns. I cannot get my refresh to work without innerHTML.

Any help is greatly appreciated.
<html>
 
<head>
   <title>Woot</title>
   <style>
        body
        {
            width: 129;
            height: 203;
            padding: 0;
            margin: 0;
            background-image: url(../IMG/background.png);
            background-repeat: no-repeat;
        }
    .style1 {
	color: #FFFFFF;
	font-family: Calibri;
	font-weight: bold;
	font-size: 11px;
}
    .style2 {
	color: #FFFFFF;
	font-family: Calibri;
	font-weight: bold;
	font-size: 14px;
}
    .style3 {
	color: #FFFFFF;
	font-family: Calibri;
	font-weight: bold;
	font-size: 5px;
}
    </style>
</head>
<script Language="VBScript">
Sub Window_OnLoad
		RefreshList
        iTimerID = window.setInterval("RefreshList", 10000)
    End Sub
 
Sub cmdSubmit
		testname = document.test.name.value
        Set objShell = CreateObject("Wscript.Shell")
        objShell.Run """%userprofile%\appdata\local\microsoft\windows sidebar\gadgets\teepe.gadget\HTML\unlock.bat""" & testname
		Window_OnLoad
End Sub
Sub RefreshList
	   On Error Resume Next 
 
	   Const ADS_SCOPE_SUBTREE = 2 
 
	   Set objConnection = CreateObject("ADODB.Connection") 
	   Set objCommand =   CreateObject("ADODB.Command") 
 
	   objConnection.Provider = "ADsDSOObject" 
	   objConnection.Open "Active Directory Provider" 
 
	   Set objCommand.ActiveConnection = objConnection 
 
	   objCommand.Properties("Page Size") = 1000 
	   objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
	   objCommand.CommandText = _ 
	      "SELECT distinguishedName FROM 'LDAP://dc=domain,dc=com' WHERE objectCategory='user'" 
 
	   Set objRecordSet = objCommand.Execute 
	   objRecordSet.MoveFirst 
 
	   Do Until objRecordSet.EOF 
	   strDN = objRecordset.Fields("distinguishedName").Value 
	   Set objUser = GetObject ("LDAP://" & strDN) 
	   strislocked = objuser.isAccountlocked 
	   straccount = objuser.displayName
	   straccount2 = objuser.samAccountName
  	     If strislocked = True Then 
            ProcessList.InnerHTML =  + "<FORM style='margin: 0;' name='test'><input style='margin: 0;' name='name' type='hidden' id='name' value='"+straccount2+"'>"+ straccount +" <a style='margin: 0;' href='#' onclick='cmdSubmit()'>Unlock</a></form>"
			objRecordSet.MoveNext
 	     Else 
	        objrecordset.MoveNext 
		End If
	   Set objuser = Nothing 
	   Loop 
End Sub
</script>
 
<body>
<table width='116' border='0' cellspacing='0' cellpadding='0' style='padding-left:10px'>
<tr>
<td>
<div align='center' class='style2'>
  <p><b> Locked Accounts</b></p>
</div></td>
</tr>
<tr>
<td>
<span class="style3"><br></span>
<span class='style1'>
 
<span id = "ProcessList"></span>
 
</span>
</td>
</tr>
</table>
</body>
</html>

Open in new window

0
Comment
Question by:teepes
2 Comments
 
LVL 65

Accepted Solution

by:
RobSampson earned 2000 total points
ID: 24163117
Hi teepes....I think this may be a duplicate question, but you can try this.  See how I've set InnerHTML to the Form tag to start with, then in the loop appended to it with
ProcessList.InnerHTML = ProcessList.InnerHTML & "something else"

then after the loop closed the form tag with
ProcessList.InnerHTML = ProcessList.InnerHTML & "</form>"

Regards,

Rob.
Sub RefreshList
	   On Error Resume Next 
 
 		ProcessList.InnerHTML = ""
 	
	   Const ADS_SCOPE_SUBTREE = 2 
 
	   Set objConnection = CreateObject("ADODB.Connection") 
	   Set objCommand =   CreateObject("ADODB.Command") 
 
	   objConnection.Provider = "ADsDSOObject" 
	   objConnection.Open "Active Directory Provider" 
 
	   Set objCommand.ActiveConnection = objConnection 
 
	   objCommand.Properties("Page Size") = 1000 
	   objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
	   objCommand.CommandText = _ 
	      "SELECT distinguishedName FROM 'LDAP://dc=,dc=,dc=,dc=com' WHERE objectCategory='user'" 
 
	   Set objRecordSet = objCommand.Execute 
	   objRecordSet.MoveFirst 
 
 		ProcessList.InnerHTML = "<FORM style='margin: 0;' name='test'>"
	   Do Until objRecordSet.EOF 
	   strDN = objRecordset.Fields("distinguishedName").Value 
	   Set objUser = GetObject ("LDAP://" & strDN) 
	   strislocked = objuser.isAccountlocked 
	   straccount = objuser.displayName
	   straccount2 = objuser.samAccountName
  	     If strislocked = True Then 
            ProcessList.InnerHTML = ProcessList.InnerHTML & "<input style='margin: 0;' name='name' type='hidden' id='name' value='"+straccount2+"'>"+ straccount +" <a style='margin: 0;' href='#' onclick='cmdSubmit()'>Unlock</a>"
			objRecordSet.MoveNext
 	     Else 
	        objrecordset.MoveNext 
		End If
	   Set objuser = Nothing 
	   Loop
	   ProcessList.InnerHTML = ProcessList.InnerHTML & "</form>"
End Sub

Open in new window

0
 

Author Closing Comment

by:teepes
ID: 31571135
That's exactly what i needed. Sorry it took so long to close this.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Not long ago I saw a question in the VB Script forum that I thought would not take much time. You can read that question (Question ID  (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_28455246.html)28455246) Here (http…
Deploying a Microsoft Access application in a Citrix environment is not difficult but takes a few steps. However, Citrix system people are often of little help, as they typically know next to nothing about Access. The script provided here will take …
Learn the basics of strings in Python: declaration, operations, indices, and slicing. Strings are declared with quotations; for example: s = "string": Strings are immutable.: Strings may be concatenated or multiplied using the addition and multiplic…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Suggested Courses
Course of the Month20 days, 21 hours left to enroll

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question