1.1k Aufrufe
in Skripte(PHP,ASP,Perl...) von
Warum wird bei untenstehender Funktion der zweite Befehl nicht ausgeführt, wenn der erste erfolglos war (z.B. weil id1 nicht existiert)?

function test() {
document.getElementById('id1').id ='id1-neu';
alert('debug');
document.getElementById('id2').id ='id2-neu';
}

Offenbar wird die Funktion beendet und ich weiß nicht, wie ich das unterbinden kann (habe es bereits mit || versucht).

Oder muss ich eine Abfrage einbauen, ob id1 existiert?

Vielen Dank!
Gruß

3 Antworten

0 Punkte
von
wenn id1 nicht existiert bricht das Script mit einer Fehlermeldung ab.

In guten Browsern wird diese Fehlermeldung angezeigt, im Firefox zB. im Menü Extras/Fehlerkonsole

Diese solltest du beim Entwerfen von Scripten immer zu Rate ziehen!

Unterbinden kannst du es folgendermaßen

function test() {
var die_id=document.getElementById('id1').id:
if (die_id){
die_id.id='id1-neu';
}
...
}


Immer schön brav fragen, ob es das Element wirklich gibt, bevor du mit seine Methoden oder Eigenschaften arbeitest!
0 Punkte
von
sorry, Kopierfehler, es muss heißen:

var die_id=document.getElementById('id1');
0 Punkte
von
Super, danke schön! Es funktioniert.

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...