Avatar billede mjansen Seniormester
22. juli 2016 - 18:12 Der er 4 kommentarer og
1 løsning

text input onchange

Hej

jeg har følgende:

<input id="Dato" navn=""Datotype="text" onchange="Dato_Test();">

når jeg så ændre indholdet kaldes funktionen og alt er godt.

Har så hentet en javascript kalender som også virker fint, men når jeg retter indholdet via dette javascript så trigges onchange ikke. har lige testet med noget andet kode som jeg selv har lavet med samme resultat.

Så hvordan får jeg onchange til at virke når jeg bruger javascript til at rette indholdet?
Avatar billede Slater Ekspert
22. juli 2016 - 18:28 #1
Normalt laver kalenderen en custom event, du kan lytte på.
Hvilken kalender benytter du?
Avatar billede mjansen Seniormester
22. juli 2016 - 20:25 #2
Avatar billede Slater Ekspert
22. juli 2016 - 21:09 #3
Ja, den er lidt primitiv, og ser ikke ud til at have events.

Normalt ville jeg ikke anbefale at rette i et tredjeparts-library - det giver bare problemer, hvis det engang skal opdateres. Men dette er tilstrækkelig simpelt til at det nok ikke sker, og det er muligvis din bedste løsning.

Hvis du efter linje 469 (altså sidst i updateDateField funktionen) tilføjer følgende linje:
targetDateField.dispatchEvent(new Event('change'));
Så burde du være flyvende med din onchange handler som nu.

Alternativt, og måske bedre praksis men en smule mere besværligt, kan du overskrive funktionen.

Hvis du kalder følgende efter det andet script er loadet:
var old_updateDateField = updateDateField;
updateDateField = function(dateFieldName, dateString) {
    old_updateDateField(dateFieldName, dateString);
    document.getElementsByName (dateFieldName).item(0).dispatchEvent(new Event('change'));
}
Jeg har ikke lige testet det, men det burde overtage den gamle funktion, køre den gamle først, og så sende eventen af sted bagefter.
Avatar billede mjansen Seniormester
22. juli 2016 - 22:45 #4
Fandt løsninger efter dit første tip, skulle bare lige kigge det igennem.

man kan oprette denne funktion som så bliver kaldt:
function datePickerClosed(dateField)
Avatar billede Slater Ekspert
23. juli 2016 - 08:10 #5
Oh, var den ikke i koden? For helvede, det er pinligt, jeg overså det.

Så den var beregnet som event. Godt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester