Hallo,
Mit javascript will ich nun, dass bei "onblur" von text2 zuerst mach_2() und dann mach_1() ausgeführt wird.
habe das bisher so geregelt:
Und du musst es dynamisch mit JavaScript ändern?
Jegliches Event-Handling sollte man zumindest mit angemessenen Helferfunktionen vornehmen, üblicherweise addEvent() und removeEvent() genannt. Damit kannst du bei text2 einfach eine weitere Handler-Funktion registrieren und sie bei Bedarf wieder abmelden.
document.getElementsByName('text2').onblur = document.getElementsByName('text2').onblur + ";" + document.getElementsByName('text1').onblur
Das wird - abgesehen von der falschen Verwendung von getElementsByName - so nicht funktionieren, da onblur entweder null oder ein Funktionsobjekt enthält. Wird ein Funktionsobjekt in einen String umgewandelt, kommt i.d.R. etwas wie function(...){...} heraus. Dann würdest du einen String zusammenbauen, der z.B. »function(){ alert('eins') };function(){ alert('zwei) }« lautet. Erstens wäre das ein Syntaxfehler (der Browser nimmt bei function... eine Funktionsdeklaration an), zweitens würden diese Funktionen nur notiert, nicht ausgeführt, und drittens muss man onblur auch wieder [ein Funktionsobjekt zuweisen](http://molily.de/js/event-handling-grundlagen.html#fehler-code-als-string).
Wie gesagt sollte man das funktional lösen, anstatt mit Strings zu hantieren.
Mathias