Fråga om javascript. onblur function

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
SeniorLemuren
Inlägg: 7803
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Fråga om javascript. onblur function

Inlägg av SeniorLemuren »

Jag fyller i en tid HH:MM:SS i en input i en modal. Jag räknar sedan ut hur många sekunder den tiden motsvarar och lägger in den i en annan input i samma modal för att sedan spara allt till mySQL.
Det fungera fint men bara en gång. Därefter måste jag ladda om hela sidan och det är inte vad jag vill. Jag vill kunna mata in flera händelser i modal efter varandra. Men jag får inte med mig sekunderna som jag räknar ut. Felet ligger väl i raden

Kod: Markera allt

document.getElementById("event_start_time").onblur = function() {
        myFunction()
    };
Antar jag. Den triggas väl bara när jag öppnar sidan första gången? Hur skall jag skriva i stället så att denna funktion körs så fort jag varit inne i input och sedan går ur. Hela rutinen här:

Kod: Markera allt

document.getElementById("event_start_time").onblur = function() {
        myFunction()    };
        
    function myFunction() {
        var startTime = document.getElementById('event_start_time').value;
        var houre = (startTime.substring(0, 2));
        var min = (startTime.substring(3, 5));
        var sec = (startTime.substring(6, 8));
        var houre = houre * 3600;
        var min = min * 60;
        var sec = sec * 1;
        var totSec = houre + min + sec;
        document.getElementById("sec_to_start").setAttribute('value', totSec);
    }
SeniorLemuren
Inlägg: 7803
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Fråga om javascript. onblur function

Inlägg av SeniorLemuren »

Lite komplettering. Så länge jag inte sparar ut till databasen så kan jag ändra tid och få sekunderna i sin input. När jag sparar förta gången så funkar det intelängre. Dent script som sparar till databasen ser ut så här.

Kod: Markera allt

$(document).on("click", "#saveTime", function() {
    $.post($("#myForm").attr("action"),
        $("#myForm :input").serializeArray(),
        function(info) {
            $("#result").html(info);
            
            setTimeout(function() {
                $("#result").html('');
            }, 6000);
        });
    clearInput();
});
$("#myForm").submit(function() {
    return false;

function clearInput() {
    $("#myForm :input").each(function() {
        if (this.id !== 'video_id_nr')
            $(this).val('');
    });
}
});
När jag plockar bort
functionen clearInput()
så funkar det, men jag vill ju gärna rensa alla input utom video_id_nr, så hur gör jag det?
Skriv svar