Amit: Links: Zusammengesetzter String oder anders

Hallo!
In einen Formular können Laufwerksbuchstaben über ein Pulldownmenü ausgewählt werden.
Nun möchte ich mit einem Link
<a href="file://X:/track01.cda">Titel01</a> auf eine Datei zugreifen, wobei X: das ausgewählte Laufwerk ist.
Wie geht das?

Vielen Dank im vorraus

Amit

  1. Hallo!

    In einen Formular können Laufwerksbuchstaben über ein Pulldownmenü ausgewählt werden.
    Nun möchte ich mit einem Link
    <a href="file://X:/track01.cda">Titel01</a> auf eine Datei zugreifen, wobei X: das ausgewählte Laufwerk ist.
    Wie geht das?

    Nicht getestet, und funktioniert nur in IE4.x+:

    <form name=formular>
    <select name=laufwerk onChange=changeLink()>
    <option value="C">C
    <option value="D">D
    ...
    </select>
    </form>

    <span name=CDLink><a href="file://C:/track01.cda"></span>Titel01</a>

    <script language="JavaScript">
    function changeLink() {
        lwidx = formular.laufwerk.selectedIndex
        laufwerk = formular.laufwerk.options[lwidx].value

    document.all.CDLink.innerHTML = "<a href="file://"+laufwerk+":/track01.cda">"
    }

    Ciao,
    Mirko

    1. Kleiner Nachtrag

      <span name=CDLink><a href="file://C:/track01.cda"></span>Titel01</a>

      Ich hab' meine Zweifel, ob diese span/link-Verwurstelung so gut ist...
      Besser:
      <span name=CDLink><a href="file://C:/track01.cda">Titel01</a></span>

      und dann

      document.all.CDLink.innerHTML = "<a href="file://"+laufwerk+":/track01.cda">Titel01</a>"

      Ciao,
      Mirko

      1. Sorry, daß ich mich jetzt nochmal korrigieren muß. Ist mir leider zu spät aufgefallen:

        <span name=CDLink>

        Es muß natürlich id=CDLink heißen...

        Nochmal komplett und getestet:

        <form name=formular>
        <select name=laufwerk onChange=changeLink()>
        <option value="C">C
        <option value="D">D
        </select>
        </form>

        <span id=CDLink><a href="file://C:/track01.cda">Titel01</a></span>

        <script language="JavaScript">
        function changeLink() {
            if ( navigator.appName == "Microsoft Internet Explorer" &&
                 navigator.appVersion >= "4") {
                lwidx = formular.laufwerk.selectedIndex
                laufwerk = formular.laufwerk.options[lwidx].value

        document.all.CDLink.innerHTML = "<a href="file://"+laufwerk+":/track01.cda">Titel01</a>"
            } else {
               alert("Sorry, der Laufwerk-Wechsel geht nur ab IE4.0");
            }
        }
        </script>

        Kann mir eigentlich jemand erklären, warum (zumindest in meinem IE5.0) in der Linkzeile dann "file:///..." (also mit drei Slashes) steht?

        Ciao,
        Mirko

        1. Hallo Mirko

          Kann mir eigentlich jemand erklären, warum (zumindest in meinem IE5.0) in der Linkzeile dann "file:///..." (also mit drei Slashes) steht?

          Die korrekte URL-Adressierungs-Syntax lautet:

          Beim file-Protokoll ist der Hostname ueberfluessig, weil eben kein Internet-Protokoll zum Tragen kommt. Der Hostname kann im Zusammenhang mit file deshalb entweder als Leerstring oder mit dem Namen localhost benannt werden.
          Wenn es der Leerstring ist, entsteht halt:
          file:///[Pfad]
          Und wenn es localhost ist, entsteht:
          file://localhost/[Pfad]
          Beides ist zulaessig.

          viele Gruesse
            Stefan Muenz
          viele Gruesse
            Stefan Muenz

          1. Hallo Stefan,

            Die korrekte URL-Adressierungs-Syntax lautet:
            [Protokoll]://[Hostname]/[Pfad]

            ...
            Wenn es der Leerstring ist, entsteht halt:
            file:///[Pfad]

            Hm... eigentlich logisch...
            Hab' wohl etwas zu lang den Navigator verwendet... :)

            Ciao,
            Mirko