» Zeit ausrechnen

Timeout und Dummy-InputNeuen Thread eröffnenNeue Antwort erstellenEine Zeile nach der anderen auf Knopfdruck ausgeben
AutorNachricht
Beobachter 

Name: Rene´
Geschlecht:
Anmeldedatum: 26.04.2020
Beiträge: 1
26.04.2020, 07:50
zitieren

Ich will in ein PDF Formular die Zeit von - bis ausrechnen lassen und in Feld Total ausgeben.

Bsp.

11:10 - 11:25 Uhr = 0.15
11:10 - 12:15 Uhr = 1.05

Die Zeit von - bis wird schon per klick mit folgenden Code eingetragen & auf 5er gerundet
function round(date, minuten) {
  var factor = minuten * 6e4;
  return new Date(Math.round(date / factor) * factor);
}
var f = this.getField("time_1");
f.value = util.printd("HH:MM", round(new Date(), 5));


jetzt hätte ich gerne das Ergebnis von - bis Uhrzeit in ein neues Feld (Total)

Könnte mir da jemand helfen ?


pn
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 52423
Wohnort: Lohmar


Meine eBay-Auktionen:
05.05.2020, 00:01
zitieren

Mir ist gerade nicht klar welche Felder der Nutzer ausfüllt?!

Mit
f.value = util.printd("HH:MM", round(new Date(), 5));
überschreibst du den Inhalt von Feld
time_1
mit der aktuellen Zeit gerundet auf 5 Minuten.

Soll der Nutzer also ausschließlich das zweite Feld mit einer Uhrzeit seiner Wahl ausfüllen und du willst die Differenz davon automatisch ausrechnen lassen?

Wie du ein Feldes lokalisierst und dessen Inhalt überschreibst, hast du ja schon mit folgendem Code gezeigt:
var f = this.getField("time_1");
f.value = "Dein Wert"

Eine zweites Feld könnte man nun also so überschreiben:
var f2 = this.getField("time_2");
f2.value = "Test";

Du willst ihn allerdings auslesen und für eine Berechnung heranziehen. Also zB so:
var f2 = this.getField("time_2");
f2.value = f2.value - f.value;

Das geht allerdings nicht, weil
f.value
keine Zahl enthält, sondern den String "11:10". Hier findest du sowohl ein funktionierendes Rechen-Beispiel als auch eine Parse-Funktion für Uhrzeiten:
https://stackoverflow.com/a/1788084/318765

Wie du siehst musst du erst ein
new Date
Objekt generieren und damit kann man dann auch wieder rechnen.

Damit könntest du die Berechnung durchführen. Du müsstest aber erstmal herausfinden wie man
var f2 = this.getField("time_2");
erst dann ausführt, wenn der Nutzer das Feld ausgefüllt hat. In HTML gibt es dafür das Attribut
onfocusout
. Also wenn ein Feld den Fokus verliert (mit der Maus woanders hingeklickt wird), kann man damit eine Funktion seiner Wahl aufrufen. Hier ein Beispiel:
https://developer.mozilla.org/en-US/docs/Web/API/Element/focusout_event

Alternativ kann man
onkeyup
verwenden, sobald eine Taste auf der Tastatur gedrückt wurde:
https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onkeyup

Sobald der Nutzer also "1" eingibt, und dann "11" und dann "11:" usw wird jedesmal eine Funktion ausgeführt. Es macht dann natürlich Sinn die Funktion so lange skippen zu lassen, solange der Nutzer noch keinen gültigen Wert eingegeben hat. zB so:

function calculate(value) {
    var f2 = this.getField("time_2");
    if (f2.value.length != 5) {
        return;
    }
    // und hier weiter
}


Also die Funktion geht erst weiter wenn der Wert aus mindestens 5 Zeichen besteht. Alternativ könnte man natürlich auch ganz genau per Regex prüfen ob auch das Format passt zB mit dem Syntax
[0-9]{2}:[0-9]{2}
. Hierbei hilft zB das match() Objekt von Strings:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match

Zuerst musst du aber herausfinden ob diese Attribute auch in PDFs existieren. Das weiß ich nicht.

Ich würde aber eh erst mal versuchen mit festen Werten zu rechnen. Dh ungefähr so:
function round(date, minuten) {
var factor = minuten * 6e4;
return new Date(Math.round(date / factor) * factor);
}
var f = this.getField("time_1");
f.value = util.printd("HH:MM", round(new Date(), 5));
var f2 = this.getField("time_2");
f2.value = "11:25";
// und jetzt die Berechnung
//
//
// und jetzt weisen wir das Ergebnis zu:
var total = this.getField("total");
total.value = diff;

Du versuchst also erst mal keine Nutzereingabe zu verarbeiten, sondern die aktuelle Uhrzeit mit deinem fest zugewiesenen Wert von
f2.value
zu verrechnen. Einfach damit du schon mal klar hast, dass deine Berechnungsfunktion läuft.

Ich hoffe du konntest mir zumindest teilweise folgen :D


 3x  bearbeitet
pn email
Gast 
05.05.2020, 00:01
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Zeit ausrechnen" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
Reifengröße ausrechnen!??
meine Winterreifen sind 15 Zoll und haben einen Niederquerschnitt von 60 meine Sommerreifen sind 18 Zoll und haben einen Niederquerschnit von 35 jetzt frag ich mich ob meine Karre im Winter mit der gleichen Fahrwerkseinstellung wohl eher höher...
von civic1267
5
4.964
25.10.2006, 19:39
civic1267
kompression ausrechnen
hallo leute mal eine frage wie kann man die kompression ausrechnen wenn man einen kompressor mir 0,5-0,8 bar fahren will?? ich muss dazu sagen das ich nos,erleichterte schwungscheibe schon verbaut habe. spiele jetzt noch mit dem gedanken andere...
von hondaboy
8
680
23.07.2009, 13:47
ED7 DOHC
Zeit??
Hallo! Kann mir viel. einer helfen: Warum stimmt bei mir die Zeit um -1 Stunde nicht?!?! Is das bei anderen auf, oder nur bei mir.... lg...
von EK3_V-TEC
2
462
15.10.2006, 17:47
EK3_V-TEC
Wie lang hab ich Zeit
Hi leute hab da mal nee frage an euch was auch sonst :laugh: und zwar wird am donnerstag abend nach nun 8 monaten mein auto endlich fertig und ich kann es holen nun wollte ich aber gleich am wochenende zu meet for speed jetzt schaffe ich es aber nicht...
von SaalkreisCivic
23
783
11.07.2008, 10:53
Pro_Razer
Es ist Zeit zu sparen
Hey, ich persönliche kenne mich noch nicht sehr gut mit den unterschiedlichen Sparmöglichkeiten aus, habe aber bereits einen Anbieter gefunden, der mir wärmstens empfohlen wurde und an den ich mich wohl als erste Wahl wenden werde. Wie ist eure Meinung...
von Kralle
1
150
26.08.2013, 08:05
mgutt
Zeit für ein Dodge???
Sehr geile Werbung... http://www.myvideo.de/watch/1661868 :hrhr: :laugh: :hrhr: :hrhr: :hrhr: Und dann einen VW Starthilfe...
von skylinedriver
8
711
24.06.2007, 18:28
eRX
Hat wer Zeit fürn Fake?
Hey, könnte mir vielleicht jemand meine Felgen in diesen Farben faken? einmal: Felgenstern: schwarz Felgenrand: silber (das silber kann so bleiben wie die Felge Teils noch aussieht^^) und Felgenstern: rot Felgenrand: silber...
von Cyres
5
234
13.04.2009, 18:12
Cyres
Wer hat zeit und lust mir zu helfen?
Hallo leute muss mein ej2 komplett neu schweissen und ich suche jemanden der sich auskennt und mir mit bilder erklärt was möglich ist und was nicht. Also der rost fangt bei fahrer tür an wo die leisten drauf gehören bis zu heckleuchten also auch die...
von armin0676
4
304
09.07.2010, 03:53
Eg8Extrem
Umrechnung der Zeit Dezimal in HH:MM
genau ds will ich was sind z.b. 1,59h ausgeschrieben in HH:MM bitte mit Formel laut dem internet würde ich auf 01:35:40 kommen und laut handliste auf...
von Der_Ronny
18
37.952
15.01.2009, 10:08
Der_Ronny
Zeit Abschied zu nehmen :(
Ja also ist wohl doch soweit gekommen. Brauche Geld für meine Weiterbildung und dann heißt es wohl abschied nehmen. War echt ne geile Zeit mit dem Auto... Hat mich nie im Stich gelassen. War immer Fair zu mir Verbrauchs/Leitungs Technisch mmh...
von hando
3
434
20.05.2010, 13:00
marcello3o3
© 2004 - 2025 www.programmierer-forum.de | Communities | Impressum |