714 Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Ahoy,

ich habe ein kleines..wahrscheinlich sehr triviales Problem, aber ich
check einfach nicht warum es nicht geht.
Folgendes:

function timeoutValidation(this_id){
if(window.mytimeout) window.clearTimeout(window.mytimeout);
window.mytimeout =
window.setTimeout("validate_this(this_id)", delay);
return true;
}


hier wird mit this_id eine id eines Elements übergeben.
Wenn ich in der Ersten Zeile der Funktion ein alert(this_id); reinsetze
wird die richtige id angegeben.
Nun, sobald die Funktion in window.setTimeout() ausgeführt werden
soll, also: validate_this(this_id), sagt mir die Fehlerkonsole, dass
this_id nicht definiert ist (Uncaught ReferenceError: this_id is not
defined). Und das verstehe ich nicht.
Ohne Anführungszeichen wird die Funktion korrekt ausgeführt, aber
ohne dem Delay. Was ist hier das Problem.

Vielen Dank!

2 Antworten

0 Punkte
Beantwortet von
Hab den Fehler gefunden

man muss das Argument in Quotes setzen, also

"validate('"+this_id+"')"

MFG
0 Punkte
Beantwortet von
nö, nicht die quotes sondern das + als Stringverbinder ist die Lösung
...