Pit Pillatsch: Inhalt eines Eingabefeldes weiterverwenden?

Hallo,

ich bin neu hier und noch ein ziemlicher HTML und JAVASCRIPT Anfänger!
Jetzt habe ich ein Problem an dem ich schon seit Stunden sitze und nicht weiterkomme!

Es geht um die Programmation eines Dashboard-Widgets für MacOSX Tiger.

Also:

Ich habe in HTML ein Eingabefeld definiert, in das man maximal vier Buchstaben eintragen kann.
Diese vier Buchstaben möchte ich gerne in eine Internetadresse eingeben!

Zum Beispiel wäre die Internetadresse: http://www.blabla.com/blaXY&find
dann müsste anstelle des XY die Eingabe aus dem Feld stehen!

Irgendwie kriege ich das Problem nicht hin, wenn ich nämlich den Inhalt des Eingabefeldes in die Internetadresse einplanzen könnte würde mein widget automatisch den Browser starten und die Adresse anzeigen!

Naja, ich hoffe ihr könnt mir da weiterhelfen und seid nicht allzuviel genervt über die Anfängerfrage!

Nette Grüsse
Pit

  1. Hallo,

    Wo genau willst du die Eingabe "einpflanzen", in einen Link z.B?

    Du könntest auf jeden fall den JavaScript onKeyDown EventHandler verwenden.

    Dann musst du dein <input> finden, z.B mit document.getElementById oder document.GetElementsByTagName.

    Schau Dir die Node Eigenschaften an um herauszufinden wie Du den Wert des Eingabefeldes ermittelst.

    Dann kannst Du die Addresse in einem Link setzen. Zuerst musst Du den richtigen Link finde, siehe oben.

    Danach kanst Du das Verweisziel neu setzen, Beispiele dazu findest Du z.B. unter setAttribute

    Wenn du nicht z.B. ein Verweisziel ändern willst, wüsste ich nicht wie es gehen sollte.

    Gruss,
    Eckhart

    1. Also, ich denke es ist am einfachsten, wenn ich dir zeige was ich bis jetzt habe!

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">
      <html>
       <head>
        <title>Test</title>
       </head>
      <h1>Testfeld</h1>
       <body background='Default.png'>

      <form action="input_text".htm>
       <p>Geb&auml;udenummer:<br><input name="Nummer" type="text" size="10"
        maxlength="4"></p>
      <input type="button" value="Los"
       onclick="widget.openURL('http://fm-eth.ethz.ch/eth/peoplefinder/fmpro?-db=gebaeude.fp5&-lay=HTML&-format=ethmap_de.html&Kuerzel=HG&-find');"></form>

      </body>
      </html>

      So, was ich jetzt hinkriegen müsste wäre, dass anstatt dieses HG ganz  hinten in der URL (da wo steht Kuerzel=HG-find) die 2-3 Buchstaben stehen, die zuvor im Eingabefeld "Nummer" eingetippt wurden.

      Der Befehl widget.openURL erlaubt es mir dann diese Seite zu öffnen, wenn ich auf Los drücke.
      Ich hoffe das ist jetzt etwas verständlicher!

      Danke vielmals für die Antwort

      Gruß
      Pit

      1. Hallo

        Zu erst einmal solltest du dein <h1> in das <body> Tag "verschieben". Dann sollte folgendes funktionieren:

        <script type="text/javascript">
        function aaa() {
          alert('http://fm-eth.ethz.ch/eth/peoplefinder/fmpro?-db=gebaeude.fp5&-lay=HTML&-format=ethmap_de.html&Kuerzel='+ document.getElementsByName('Nummer')[0].value +'&-find');}
        </script>

        [...]

        <form action="input_text".htm>
          <p>Geb&auml;udenummer:</p>
          <input name="Nummer" type="text" size="10"  maxlength="4"><br>
          <input type="button" value="Los" onclick="aaa();">
        </form>

        Den alert müsstest du passend mit widget.open ersetzen können.

        Gruss,
        Eckhart

        PS: das hättest du doch wohl mit ein bischen JavaScript dokumentation durchlesen wohl auch noch geschafft, besonders mit meine vorherigen Links?

        1. Hi,

          Vielen vielen Dank, es funktoinniert jtzt genau so, wie ich mir das vorgestellt habe!

          Ich bin jetzt super glücklich, ich dachte schon, ich würde das überhaupt nicht mehr hinbekommen!

          Nochmals vielen Dank!

          Nette Grüsse
          Pit