[JS] Find den Fehler nicht

mr.VVoo

PUNKT.
ID: 96656
L
4 Mai 2006
140
0
Code:
Fehler: unterminated string literal
Quelldatei: https://localhost/so2/community/dok_hochladen.php?ks=11
Zeile: 1, Spalte: 106
Quelltext:
document.forms[0].d_titel.value=this.value.substring(this.value.lastIndexOf('\'),this.value.lastIndexOf('.'));

Wo liegt hier der Fehler? Ich seh da keinen.
 
Der Backslash ist in JS (wie in vielen anderen Sprachen auch) das Escape-Zeichen, d.h. er nimmt dem nachfolgenden Zeichen (hier dem ') seine besondere Funktion. Um den Backslash als Zeichen zu verwenden, musst du zwei davon schreiben: \\
 
mhm da muss ich noch paar mehr schreiben, weil das in php geschrieben ist und das ist nur die html ausgabe. danke für den tipp!
 
Jo für PHP natürlich nochmal verdoppeln :)
Gibt da lustige Konstrukte, z.B. wenn man per Regexp doppelte Backslashes sucht:
PHP:
preg_match('#\\\\\\\\#', $var); // Testet, ob in $var 2 Backslashes hintereinander vorkommen
 
@MrToiz:
Wieso dann 8 Backslashes ? Du nutzt Single Quotes ;)