PalinkatoR: HTML Objekte mit VBSript erzeugen

Hi.

Ich stehe vor folgendem Problem: Bin gerade dabei, eine HTA Datei zu schreiben, als Script-Sprache verwende ich VBScript. Das Programm liest die Anzahl der verfügbaren Netzwerkadapter aus. Soweit so gut. Anschliessend soll es aber genauso viele Radio-Buttons in der HTA-Datei erzeugen. Hab gegoogelt, und auch in einem VBSCript Lehrbuch geschaut, die Suche blieb aber erfolglos. Gibt es überhaupt eine Möglichkeit per VBScipt HTML Objekte wie Radio-Buttons, Checkboxes, etc zu erstellen? Wenn ja, wie? :)

Danke im Voraus
MfG
P.

  1. Hallo PalinkatoR!

    Ich stehe vor folgendem Problem: Bin gerade dabei, eine HTA Datei zu schreiben, als Script-Sprache verwende ich VBScript.

    ...

    Gibt es überhaupt eine Möglichkeit per VBScipt HTML Objekte wie Radio-Buttons, Checkboxes, etc zu erstellen? Wenn ja, wie? :)

    Ich denke VB-Script in HTA verhält sich wie Javascript oder JScript in HTML. Und da funktioniert das zB so: http://de.selfhtml.org/javascript/objekte/document.htm#writeln

    Viele Grüße

    H-P Ortner

  2. Hi.

    Ich stehe vor folgendem Problem: Bin gerade dabei, eine HTA Datei zu schreiben, als Script-Sprache verwende ich VBScript. Das Programm liest die Anzahl der verfügbaren Netzwerkadapter aus. Soweit so gut. Anschliessend soll es aber genauso viele Radio-Buttons in der HTA-Datei erzeugen. Hab gegoogelt, und auch in einem VBSCript Lehrbuch geschaut, die Suche blieb aber erfolglos. Gibt es überhaupt eine Möglichkeit per VBScipt HTML Objekte wie Radio-Buttons, Checkboxes, etc zu erstellen? Wenn ja, wie? :)

    Danke im Voraus
    MfG
    P.$

    Probier mal das aus:

    response.write "..html.........blablabla"

    du brauchst aber für jede neue zeile response.write

    1. Hallo timmy!

      Bin gerade dabei, eine HTA Datei zu schreiben, als Script-Sprache verwende ich VBScript.
      Gibt es überhaupt eine Möglichkeit per VBScipt HTML Objekte wie Radio-Buttons, Checkboxes, etc zu erstellen? Wenn ja, wie? :)
      Probier mal das aus:
      response.write "..html.........blablabla"
      du brauchst aber für jede neue zeile response.write

      Jetzt verwirrst du mich ein weinig.
      In einer HTA http://de.wikipedia.org/wiki/HTML-Applikation kann man Scripts wie in HTML-Seiten ausführen. Einmal geöffnet, kommen dann keine Sicherheitsabfragen mehr.

      Ein Response-Objekt in HTA kenne ich nicht.

      Viele Grüße

      H-P Ortner

      1. Hallo timmy!

        Jetzt verwirrst du mich ein weinig.
        In einer HTA http://de.wikipedia.org/wiki/HTML-Applikation kann man Scripts wie in HTML-Seiten ausführen. Einmal geöffnet, kommen dann keine Sicherheitsabfragen mehr.

        Ein Response-Objekt in HTA kenne ich nicht.

        Viele Grüße

        H-P Ortner

        Hallo H-P Ortner

        Code auf unserer Intranetseite, welche ich programmiert habe sieht so aus: index. asp

        <%
        If fso.FileExists("c:\inetpub\wwwroot\Konvert\besetzt.txt") Then
                response.write "<br><br><br><br><b>Konverter is busy, please try again later</b><br>"
                exit function
                End If
        %>

        der script teil ist VBScript

        1. Hi. Danke für die Antworten.
          Mir geht es aber nicht darum, eine Textzeile in das HTML Dokument/Formular hinzuzufügen, sondern darum, ein Objekt zu erstellen, wie zB ein Button, Radiobutton, CHeckbox, etc....

          1. Hi. Danke für die Antworten.
            Mir geht es aber nicht darum, eine Textzeile in das HTML Dokument/Formular hinzuzufügen, sondern darum, ein Objekt zu erstellen, wie zB ein Button, Radiobutton, CHeckbox, etc....

            jo, ist doch kein problem:

            <%

            response.write "<input type="radio" value="1" name="test_box">test

            %>

          2. Hi. Danke für die Antworten.
            Mir geht es aber nicht darum, eine Textzeile in das HTML Dokument/Formular hinzuzufügen, sondern darum, ein Objekt zu erstellen, wie zB ein Button, Radiobutton, CHeckbox, etc....

            sorry, mein erstes post hat fehler drin ;)

            so muss das ein:

            response.write "<input type=""radio"" value=""1"" name=""checkbox_values"">mp2"

            du musst auf die anführungszeichen anpassen...!

          3. Hallo PalinkatoR!

            Mir geht es aber nicht darum, eine Textzeile in das HTML Dokument/Formular hinzuzufügen, sondern darum, ein Objekt zu erstellen, wie zB ein Button, Radiobutton, CHeckbox, etc....

            In dem Beispiel aus meiner ersten Antwort wird nicht eine Textzeile eingefügt sondern ein Absatz-Objekt erstellt.
            http://de.selfhtml.org/javascript/objekte/document.htm#writeln

            Wenn ich deine Frage jetzt richtig verstanden habe, möchtest du die Objekte aber nicht während dem Aufbau der Seite erstellen sondern nachträglich in die HTA ein Objekt einfügen.

            Ich würde das so machen:
            test.hta

              
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
            <html>  
            <head>  
              <title>HtaTest</title>  
              <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">  
              <HTA:APPLICATION ID="HtaTest"  
                APPLICATIONNAME="HtaTest"  
                BORDER="thick"  
                CAPTION="yes"  
                ICON="http://src.selfhtml.org/favicon.ico"  
                SHOWINTASKBAR="yes"  
                SINGLEINSTANCE="yes"  
                SYSMENU="yes"  
                WINDOWSTATE="normal"  
              >  
              <script language="JavaScript" type="text/javascript">  
              <!--  
               var i= 0;  
              
               function InsertCheckbox(iD){  
                i++;  
                var ch1= document.createElement("input");  
                ch1.type= "Checkbox";  
                ch1.name= "ChB" + i;  
                ch1.id= "ChB" + i;  
                ch1.value= "ChB" + i;  
                var lb1= document.createElement("label");  
                lb1.htmlFor= "ChB" + i;  
                lb1.appendChild(document.createTextNode("ChB" + i));  
                document.getElementById("Form1").appendChild(ch1);  
                document.getElementById("Form1").appendChild(lb1);  
                document.getElementById("Form1").appendChild(document.createElement("br"));  
                //alert(i);  
               }  
              -->  
              </script>  
            </head>  
            <body>  
             <input type="button" name="1" onClick="InsertCheckbox(this);" value="Checkbox einfügen"/>  
             <form name="Form1" id="Form1">  
             </form>  
            </body>  
            </html>  
            
            

            Viele Grüße

            H-P Ortner

            1. Hallo,

              Wenn ich deine Frage jetzt richtig verstanden habe, möchtest du die Objekte aber nicht während dem Aufbau der Seite erstellen sondern nachträglich in die HTA ein Objekt einfügen.

              Das Beispiel funktioniert übrigens fast Deckungsgleich auch mit VBScript:

                
              <html>  
              <head>  
                <title>HtaTest</title>  
                <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">  
                <HTA:APPLICATION ID="HtaTest"  
                  APPLICATIONNAME="HtaTest"  
                  BORDER="thick"  
                  CAPTION="yes"  
                  ICON="http://src.selfhtml.org/favicon.ico"  
                  SHOWINTASKBAR="yes"  
                  SINGLEINSTANCE="yes"  
                  SYSMENU="yes"  
                  WINDOWSTATE="normal"  
                >  
                <script type="text/vbscript">  
                 i = 0  
                
                 Sub InsertCheckbox(myForm)  
                  i = i + 1  
                  set ch1 = document.createElement("input")  
                  ch1.type = "Checkbox"  
                  ch1.name = "ChB" & i  
                  ch1.id = "ChB" & i  
                  ch1.value = "ChB" & i  
                  set lb1 = document.createElement("label")  
                  lb1.htmlFor = "ChB" & i  
                  lb1.appendChild(document.createTextNode("ChB" & i))  
                  myForm.appendChild(ch1)  
                  myForm.appendChild(lb1)  
                  myForm.appendChild(document.createElement("br"))  
                 End Sub  
                
                </script>  
              </head>  
              <body>  
               <form action="#">  
               <input type="button" name="1" onclick="InsertCheckbox(me.form)" value="Checkbox einfügen"/>  
               </form>  
              </body>  
              </html>  
              
              

              viele Grüße

              Axel

              1. Hallo Axel!

                Das Beispiel funktioniert übrigens fast Deckungsgleich auch mit VBScript

                Javascript hab ich verwendet weil es dann mit der Endung .html im FF und anderen auch funktioniert.

                  
                
                >    Sub InsertCheckbox(myForm)  
                
                ...  
                
                >     myForm.appendChild(ch1)  
                
                ...  
                
                >  <input type="button" name="1" onclick="InsertCheckbox(me.form)" value="Checkbox einfügen"/>  
                
                

                Das Formular als Parameter zu Übergeben ist genau das, was ich in meinem Beispiel vermisst habe.
                Jetzt macht es auch wirklich Sinn den Thread zu archivieren.

                Viele Grüße

                H-P Ortner

              2. Hallo,

                Wenn ich deine Frage jetzt richtig verstanden habe, möchtest du die Objekte aber nicht während dem Aufbau der Seite erstellen sondern nachträglich in die HTA ein Objekt einfügen.

                Das Beispiel funktioniert übrigens fast Deckungsgleich auch mit VBScript:

                <script type="text/vbscript">
                   i = 0

                Sub InsertCheckbox(myForm)
                    i = i + 1
                    set ch1 = document.createElement("input")
                    ch1.type = "Checkbox"
                    ch1.name = "ChB" & i
                    ch1.id = "ChB" & i
                    ch1.value = "ChB" & i
                    set lb1 = document.createElement("label")
                    lb1.htmlFor = "ChB" & i
                    lb1.appendChild(document.createTextNode("ChB" & i))
                    myForm.appendChild(ch1)
                    myForm.appendChild(lb1)
                    myForm.appendChild(document.createElement("br"))
                   End Sub

                </script>
                </head>
                <body>
                <form action="#">
                <input type="button" name="1" onclick="InsertCheckbox(me.form)" value="Checkbox einfügen"/>
                </form>
                </body>
                </html>

                Hi!
                Danke für die ausfürhliche Antwort. Also der Script soll folgendes machen: er soll beim ausführen der HTA-Datei feststellen, wie viel Netzwerkadapter es gibt (dies habe ich schon geschrieben) und dann soll er genauso viele Radio-Buttons erstellen. Alles soll unterm Window_Onload Sub laufen, also beim ausführen der HTA.
                Denke aber der von dir gepostete Code wird sich entsprechend anpassen können. :)

                MfG
                P.