jQuery Slash ans Ende platzieren

hoctar

Erfahrenes Mitglied
Hallo,

folgendes Beispiel:

Code:
var $path = $('input');    

$path.bind('input', function() {

        var val = $path.val();

        if(val.charAt(val.length - 1) != '/') {
            $path.val(val+'/');
        }
});

Ich möchte erreichen das, wenn kein Slash am Zeilenende steht, eins hinzugefügt wird.
Das Input Feld soll einen Pfad, wie etwa " dir1/dir2/dir3/ " aufnehmen.

Zurzeit ist das Ergnis aber Folgendes " d/i/r/ .. ". Klar weil er bei jedem Tippen ein Slash hinzufügt.

Wie könnte man aber nur eins ans Ende hinzufügen?
 
Zuletzt bearbeitet:
Naja ein anderer Weg als die ganzen Slashes nach jedem Tippen zu löschen fällt mir da nun nicht ein, wenn es denn so sein muss das Du nach jedem Tippen hinten den Slash haben musst.

Also einmal alle Slashes wegräumen und dann einfach hinten anhängen.

Code:
       var val = $path.val();
            val = val.replace(/\//g,"")+"/";

       path.val( val ) ;
 
Zuletzt bearbeitet:
In das Input Feld soll ein Pfad eingegeben werden also z.B. "dir1/dir2/dir3/", wenn ich nun alle Slashes lösche, haben ich kein Pfad mehr.
 
Ich würde es einfach vor der Weiterverarbeitung des Pfades prüfen und gegebenenfalls eines anhängen. Während des Tippens hat man doch nichts davon, wenn einem der Slash aufgezwungen wird.
 
Das wird im nachhinein auch geprüft, nur sollte das Feld eine Art Maske haben. Das Slash am Ende soll andeuten, dass es sich um ein Ordner handelt und keine Datei.
 
Dann nimm ein span-Element (o.ä.), welches nur den Slash enthält und leg es über das Textfeld. Das schiebst du dann immer weiter. Das sollte mit jQuery ein Kinderspiel sein.
 
Zurück