JCB: Warum ist "\" ein ungültiger String??

Moin moin :o)!

Ich hab da ein kleines Problemchen. Ich habe einen String, der den absoluten Pfad zu einer Datei beinhaltet. Daraus will ich mit der Funktion "pfad.lastIndexOf("");" den Dateinamen herausfilten. Allerdings tritt bei der Suche nach dem Zeichen "" einen JS-Fehler (Objekt erwartet). Kann mir einer sagen warum dies so ist und ob es vielleicht eine andere Lösung gibt?

Gruß, Jan :).
www.Planet-1.de

  1. hi!

    Ich hab da ein kleines Problemchen. Ich habe einen String, der den
    absoluten Pfad zu einer Datei beinhaltet. Daraus will ich mit der
    Funktion "pfad.lastIndexOf("");" den Dateinamen herausfilten.

    , die in Strings vorkommen, dienen dazu, Sonderzeichen zu maskieren,
    daher müssen sie ihrerseits maskiert werden, damit ihre spezielle
    Bedeutung erlischt. Versuch also einfach mal "\" zu schreiben.

    Das ist übrigens in sehr vielen Programmiersprachen so, falls du mal
    in die Verlegenheit gerätst... ;)

    bye, Frank!

    1. , die in Strings vorkommen, dienen dazu, Sonderzeichen zu maskieren,
      daher müssen sie ihrerseits maskiert werden, damit ihre spezielle
      Bedeutung erlischt. Versuch also einfach mal "\" zu schreiben.

      Öhm, ja. Asche über mein Haupt :). Gibts denn dan gar keine Möglichkeit in JS nach "" zu suchen? "\" ging leider nicht.

      Gruß, Jan.
      www.Planet-1.de

      1. Hallöle;

        Öhm, ja. Asche über mein Haupt :). Gibts denn dan gar keine
        Möglichkeit in JS nach "" zu suchen? "\" ging leider nicht.

        .........................................^^^^
        glaube ich nicht, fehler liegt woanders!

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 //EN">

        <html>
        <head>
         <title>Untitled</title>
         <script>
         function tet() {
          alert(document.test.faile.value.lastIndexOf("\"));
          }
         </script>
        </head>

        <body>
        <form action="" name="test" id="test">

        <input type="file" name="faile">
        <input type="button" value="lastindex" onclick="tet()">

        </form>
        </body>
        </html>
        HTH
        Bye Ed X

        www.Planet-1.de

      2. Öhm, ja. Asche über mein Haupt :). Gibts denn dan gar keine Möglichkeit in JS nach "" zu suchen? "\" ging leider nicht.

        Gruß, Jan.
        www.Planet-1.de

        Hi Jan,

        Das geht doch, wenn Du Backslashs in der Suchvariable genau so maskierst. Wenn Du eine eine Textfeldeingabe auswerten möchtest, werden auch dort alle Sonderzeichen entsprechend maskiert. Ich habe für Dich einen kurzen Script vorbereitet, den Du gleich ausprobieren kannst:

        ------------------

        <script>

        function zeige()
        {
         var pfad = document.all.pfad.value;
         alert(pfad.indexOf('\'));
        }

        </script>

        <input name="pfad" value="C:\Test"> <input onclick="zeige()" type="button" value="Zeige die erste Position von ">

        ------------------

        Was nicht funktionieren würde ist folgendes:

        var pfad = "C:\Test";
        alert(pfad.indexOf('\'));

        Gruß, Pawel