Hallo,
Finde ich lobenswert, dass Du Dir das wirklich angesehen und sogar umgesetzt hast!
Sieht auch soweit ok aus. Ich würde da höchstens noch etwas Übersichtlichkeit rein bringen ( ist aber meine subjektive Auffassung, keine fachliche! ).
Zunächst mal solltest Du darauf achten, dass Du mit getElementById auch erst auf die Elemente zugreifst, wenn die bereits im DOM vorhanden sind.
Ein HTML-Dokument wird vom Browser sequentiell aufgebaut, d.h.:
<script>console.log( document.getElementById('test') );</script>
<div id="test">something</div>
würde zu einem undefined oder null führen, wohingegen das hier funktioniert:
<div id="test">something</div>
<script>console.log( document.getElementById('test') );</script>
Nun gibt es unterschiedliche Ansichten, wie man dafür sorgt, dass das Element vor dem Zugriff verfügbar ist.
Auch in vielen Frameworks wird einfach der Script-Teil ans Ende des Document-Body gesetzt, also vor das </body>.
Ich persönlich habe meine JS-Scripte nach Möglichkeit immer im <head>-Bereich. Hier muss man dann halt dafür sorgen, dass auf das Laden des Dokumentes gewartet wird.
Das machen sog. EventListener für uns. Meine JS-Scripte haben immer folgenden Rumpf:
document.addEventListener( 'DOMContentLoaded', function(e) {
// hier kann mein gesamter JS-Code rein...
});
Der JS-Code innerhalb des Rumpfes wird erst ausgeführt, wenn das Ereignis ( Event ) eintritt, dass das Dokument komplett aufgebaut ist.
Ein undefined oder null kann dann nur noch kommen, wenn ich bei der ID einen Schreibfehler habe, es das Element also gar nicht gibt.
Ok, was Deinen Code angeht, würde ich den evtl. so schreiben ( Variablenbezeichner habe ich so belassen, damit es sich für Dich besser liest ):
var Int_Min = 0;
var Int_Sec = 0;
function check_auftrag() {
Int_Auftrag = document.getElementById( 'Auftrag' ).value;
Int_Position = document.getElementById( 'Position' ).value;
if (Int_Auftrag && Int_Position) {
url = 'auftrag_speichern.php';
PostData = 'Auftrag=' + Int_Auftrag + '&Position=' + Int_Position;
request = new XMLHttpRequest();
request.addEventListener( 'load', function(e) {
document.getElementById( 'TeileNummer' ).value = this.responseText;
});
request.open( 'post', url, true );
request.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
request.send( PostData );
TeileLaufzeit();
}
}
function TeileLaufzeit(){
Int_Sec++;
if ( Int_Sec == 60 ) {
Int_Min++;
Int_Sec = 0;
}
document.getElementById( 'TeileLaufzeitMin' ).value = Int_Min;
document.getElementById( 'TeileLaufzeitSec' ).value = Int_Sec;
setTimeout( TeileLaufzeit, 1000 );
}
Alles anzeigen
Wenn Du Fragen dazu hast, kannst Du hier gerne fragen.
Auf jeden Fall gut umgesetzt durch Eigeninitiative und Fleiß!
Gruß Arne