molily: Button OnClick Wert übergeben

Beitrag lesen

Hallo,

if ($('AUSGABEDATUM')) {

Was macht die Funktion $? Ist das die von Prototype oder Mootools?

var datumheute = day + "." + month + "." + (year+"");

year wird automatisch in einen String umgewandelt, weil davor Strings stehen, der Zusatz +"" ist nicht nötig.

  g\_result +='Ausgabedatum:</font></b>&nbsp;Datum entspricht nicht dem heutigen Datum!&nbsp;<br><br><input type"button" value"Datum heute setzen" onClick=$('AUSGABEDATUM').value=datumheute>';  

Ich nehme mal an, du schreibst diesen Code per innerHTML ins DOM.

datumheute ist vermutlich eine lokale Funktionsvariable. Der onclick-Code wird allerdings im globalen Scope ausgeführt. Da gibt es die Variable nicht mehr.

Du könntest jetzt natürlich mit wildem Escaping und Einbettung des Datums in einen String herumfummeln:

g_result += '<input type="button" value="Datum heute setzen" onclick="$('AUSGABEDATUM').value = '' + datumheute + ''">';

So etwas ist aber nicht schön und keine gute Lösung. Besser wäre Event-Handling mit JavaScript. Also ein Button-Element erzeugen und dann daran einen Event-Handler registrieren - als Funktion, nicht als String. Dann kannst du allerdings nicht mehr mit bloßen HTML-Strings arbeiten. Wenn du ein Framework wie Prototype oder Mootools verwendest, geht das auch sehr einfach.

Mathias