3
Option Explicit 
Dim output, ProxyEnable, ProxyServer, wshShell, doc

Sub Window_onLoad
    loadProxySettings()
End Sub 

Set wshShell = CreateObject("WScript.Shell")
ProxyEnable = wshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable")
ProxyServer = wshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer")

Function loadProxySettings()
    If ProxyEnable = 1 Then
        proxyStatus.className = "enabled"
        proxyStatus.innerHTML = "Proxy aktiv"

        toggleProxyButton.value = "Proxy deaktivieren"

        proxyServer.value = ProxyServer
    Else
        proxyStatus.className = "disabled"
        proxyStatus.innerHTML = "Proxy deaktiviert"

        toggleProxyButton.value = "Proxy aktivieren"

        proxyServer.value = ProxyServer
    End If 
End Function

Just can't find the problem why this is giving me the error:

Object required "ProxyStatus"

(and yes I have a span element with the id of proxyStatus)

user692942
  • 16,398
  • 7
  • 76
  • 175
Steve
  • 143
  • 1
  • 1
  • 6

2 Answers2

1

Go back to this code

Set ProxyStatus = document.getElementById("proxyStatus")
Set ToggleProxyButton = document.getElementById("toggleProxy")
Set ProxyServerInput = document.getElementById("proxyServer")

The only mistake here as long as the HTML is correctly formed is the use of Set when you are just referencing existing objects in the DOM. Try removing the Set from these lines like this;

ProxyStatus = document.getElementById("proxyStatus")
ToggleProxyButton = document.getElementById("toggleProxy")
ProxyServerInput = document.getElementById("proxyServer")
Community
  • 1
  • 1
user692942
  • 16,398
  • 7
  • 76
  • 175
0

In HTAs you can use the ID of ID'd elements like variables, i.e. if you have an element like this:

<p>foo <span id="proxyStatus">something</span> bar</p>

you should be able to use it in your code like this without having to do anything first:

MsgBox proxyStatus.innerText
Ansgar Wiechers
  • 193,178
  • 25
  • 254
  • 328
  • thanks for that.. i know but it doesn't work either .. still the same, it seems that the getElementById doesn't find the element in the DOM.. – Steve Feb 25 '16 at 22:45
  • @steve If it's not finding the DOM elements it may not see the HTML as a valid structure, try validating the HTML. – user692942 Feb 25 '16 at 22:47
  • 1
    Did you remove the `getElementById()` statements, so they don't mess up existing variables? Does your HTML contain frames or iframes? – Ansgar Wiechers Feb 25 '16 at 22:47