Ich möchte in einem HTML-Formular einen Timer auf einem Button anzeigen und gleichzeitig in ein Formularfeld die Anfangszeit eintragen. Die erste Hälfte funktioniert – nur das blöde eintragen im Formular zickt rum.
Klickt man auf den Button, wird von ihm ein Wert übergeben, anhand 'document.meinFormular.idWERT.value" dann ein Eintrag im entsprechenden Feld erfolgt. Von den Buttons und den zugehörigen Feldern wird es später mehrere geben (daher diese wilde Konstruktion).
Der Code ist nicht schön, sondern ist zum Testen. Vereinfacht unter https://codepen.io/anon/pen/OGzJeM (ohne Timerfunktion) - wenn man den zweiten Teil wieder inkludiert, sieht man, was es machen sollte.
HTML
<form name="meinFormularABC">
<input type="button" onClick="TimerStart('ABC');" value="eintragen">
<input type="text" name="zeitbeginnABC" id="zeitbeginnABC" size="40" value="" onClick="document.meinFormularABC.zeitbeginnABC.value=new Date().toLocaleString();">
</form>
Und das zugehörige JavaScript
JavaScript
var gestartet = false;
function TimerStart(anzeigebereich=timer) {
alert("Übergebener Wert: " + anzeigebereich);
if (gestartet == false)
{
var formelement = 'meinFormular'+anzeigebereich+'.zeitbeginn'+anzeigebereich+".value";
alert("zusammengebaute Feldbezug: " + formelement);
document.formelement = "Hallo - tut NICHT :( - auch wenn folgende ausgeklammt sind";
// alert("Bei nicht zusammengebaut funktioniert es")
// document.meinFormularABC.zeitbeginnABC.value = "TUT - warum das andere nicht?";
}
}
Alles anzeigen
Würde mich über Hilfe freuen - danke