Link to home
Start Free TrialLog in
Avatar of Simon336697
Simon336697Flag for Australia

asked on

InnertHTML Issue with recognizing tags

Hi guys,
I have an issue with tr and td tags not being recognized.The following code does not seem to recognize the tr and td tags, so im not quite getting the formatting in a table properly.
Im not sure if this is because of the way the Results.InnerHTML is set?
Any help greatly appreciated.
<head>
<title>Enumerate Service Pack on Remote Computers</title>
<HTA:APPLICATION 
     APPLICATIONNAME="Enumerate Service Pack on Remote Computers"
     SCROLL="yes"
     SINGLEINSTANCE="yes"
     WINDOWSTATE="normal"
>
<style type="text/css">
 
html {
font-family:arial;
font-size:smaller;
 
}
 
table {
border-collapse:collapse;
border:solid 1px black;
font-family:arial;
font-size:0.8em;
}
 
tr, td, th {
border-collapse:collapse;
border-style:solid;
}
 
td { border-width: 1px; }
 
 
</style>
 
 
</head>
<script language="vbscript">
Sub Window_onLoad
	intWidth = 600
	intHeight = 480
	Me.ResizeTo intWidth, intHeight
    Me.MoveTo ((Screen.Width / 2) - (intWidth / 2)),((Screen.Height / 2) - (intHeight / 2))
End Sub
 
Sub GetServicePack
	run_button.disabled = True
	ComputerListFile.disabled = True
	Const ForReading = 1
	Const ForWriting = 2
	Set objFSO = CreateObject("Scripting.FileSystemObject")
	If ComputerListFile.Value <> "" Then
		If objFSO.FileExists(ComputerListFile.Value) = True Then
			Set List = objFSO.OpenTextFile(ComputerListFile.Value, ForReading)
			
			Results.InnerHTML = ""
			Results.InnerHTML = Results.InnerHTML &"<table width='40%' border=1 bgcolor='white'><th style='background:c0c0c0'>" & "<b>System</b>" & "</th><th style='background:c0c0c0'>" & _
			"<b>Service Pack</b>"
 
			Do Until List.AtEndOfStream
				strComputer = List.ReadLine
				If Ping(strComputer) Then
 
					Set objWMIService = GetObject("winmgmts:" _
					& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
					Set colSpack = objWMIService.ExecQuery _
					("Select * from Win32_OperatingSystem")
					For Each objSpack in colSpack
						strSpack = objSpack.ServicePackMajorVersion
					Next
 
					Results.InnerHTML =  Results.InnerHTML &"<tr><td width='40%' border=1>" &strComputer &"</td><td>" &strSpack &"</td></tr><br>"
 
					'Results.InnerHTML =  Results.InnerHTML & "<tr><td>" & strComputer & "</td><td>" & strSpack & "</td></tr>"
 
				Else
 
					Results.InnerHTML =  Results.InnerHTML &"<tr><td>"& strComputer & "</td><td style='background:black'><font color='red'>Unreachable</font></td></tr><br>"
					
				End If
			Loop
Results.InnerHTML =  Results.InnerHTML &"</table>"
			List.Close	
			
			'Results.InnerHTML =  Results.InnerHTML &"</table>"
		Else
			MsgBox "File does not exist: " & ComputerListFile.Value
		End If
	Else
		MsgBox "Please specify a file name."
	End If
	run_button.disabled = False
	ComputerListFile.disabled = False
 
End Sub
	
Function Ping(strComputer)
	Dim objShell, boolCode
	Set objShell = CreateObject("WScript.Shell")
	boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0, True)
	If boolCode = 0 Then
		Ping = True
	Else
		Ping = False
	End If
End Function
 
</script>
 
<body>
<input type="button" value="Get Service Pack" name="run_button" onClick="GetServicePack">
<input type="file" name="ComputerListFile"> <br><br>
<span id = "Results"></span>
</body>
</html>

Open in new window

Avatar of rejoinder
rejoinder
Flag of Canada image

Please give this a try...
<head>
<title>Enumerate Service Pack on Remote Computers</title>
<HTA:APPLICATION 
     APPLICATIONNAME="Enumerate Service Pack on Remote Computers"
     SCROLL="yes"
     SINGLEINSTANCE="yes"
     WINDOWSTATE="normal"
>
</head>
<script language="vbscript">
Sub Window_onLoad
    intWidth = 600
    intHeight = 480
    Me.ResizeTo intWidth, intHeight
    Me.MoveTo ((Screen.Width / 2) - (intWidth / 2)),((Screen.Height / 2) - (intHeight / 2))
End Sub
 
Sub GetServicePack
    run_button.disabled = True
    ComputerListFile.disabled = True
    Const ForReading = 1
    Const ForWriting = 2
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    If ComputerListFile.Value <> "" Then
        If objFSO.FileExists(ComputerListFile.Value) = True Then
            Set List = objFSO.OpenTextFile(ComputerListFile.Value, ForReading)
            strHTML = "<table width=40% border=1 bgcolor=""white""><tr><td style=""background:c0c0c0""><b>System</b></td><td style=""background:c0c0c0""><b>Service Pack</b></td></tr>"
            Do Until List.AtEndOfStream
                strComputer = List.ReadLine
                If Ping(strComputer) Then
                    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
                    Set colSpack = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
                    For Each objSpack in colSpack
                        strSpack = objSpack.ServicePackMajorVersion
                    Next
                    strHTML = strHTML & "<tr><td>" & strComputer & "</td><td>" & strSpack & "</td></tr>"
                Else
                    strHTML = strHTML & "<tr><td>" & strComputer & "</td><td style=""background:black""><font color=""red"">Unreachable</font></td></tr>"
                End If
            Loop
            Results.InnerHTML = strHTML &"</table>"
msgbox Results.InnerHTML
            List.Close
        Else
            MsgBox "File does not exist: " & ComputerListFile.Value
        End If
    Else
        MsgBox "Please specify a file name."
    End If
    run_button.disabled = False
    ComputerListFile.disabled = False
End Sub
	
Function Ping(strComputer)
    Dim objShell, boolCode
    Set objShell = CreateObject("WScript.Shell")
    boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0, True)
    If boolCode = 0 Then
        Ping = True
    Else
        Ping = False
    End If
End Function
 
</script>
 
<style type="text/css">
html {font-family:arial;font-size:smaller;}
table {border-collapse:collapse;border:solid 1px black;font-family:arial;font-size:0.8em;}
tr, td, th {border-collapse:collapse;border-style:solid;}
td { border-width: 1px; }
</style>
<body>
<input type="button" value="Get Service Pack" name="run_button" onClick="GetServicePack">
<input type="file" name="ComputerListFile"> <br><br>
<span id="Results" name="Results"></span>
</body>
</html>

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of rejoinder
rejoinder
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Simon336697

ASKER

thanks so much rejoinder.
Glad to help out and thanks for the points :-)