0 votes

Obtenir la valeur de saisie de texte lorsqu'elle est remplie par une autre fonction Javascript

J'ai un ensemble de boîtes de texte qui activent un calendrier pour sélectionner des dates lorsqu'elles sont cliquées. Cela fonctionne bien.

J'ai maintenant besoin d'obtenir les valeurs saisies dans ces entrées en utilisant l'événement onblur. Mon problème est que mon Javascript ne détecte pas les dates saisies, mais la valeur par défaut de l'entrée (c'est-à-dire des déchets). Je dois somehow détecter les valeurs renvoyées par la première fonction, et je n'ai aucune idée à ce sujet pour le moment.

Flux de données nécessaire:

onclick.input > calendrier > entrée remplie > onblur.input > détecter nouvelle valeur > ...

Lors de la tentative de détection de la nouvelle valeur, JS trouve la valeur initiale à la place.

Le Code: (deuxième ensemble de fonctions)

var myDates = document.getElementById("step4");
    myDates = myDates.getElementsByTagName("input");

    for (var i = 0; i< myDates.length; i++) {
        myDates[i].onblur = function () { step4param(); return false; };
    }
}

function step4param () {
    var date1 = document.getElementById("day1");
    var date2 = document.getElementById("monthyear1");
    alert (date1.getAttribute("value"));
}

Je ne suis pas sûr des parties du calendrier qui sont pertinentes...

1voto

YsoL8 Points 976

D'accord, j'ai résolu ce problème.

En regardant http://stackoverflow.com/questions/146916/javascript-events-getting-notified-of-changes-in-an-input-control-value

J'ai vu un commentaire qui indiquait que getAttribute("value"); ne retournera que la valeur initiale de l'entrée. Cependant, someVar.value; retournera la valeur actuelle de l'entrée. donc en changeant l'alerte de la dernière ligne en

alert(date1.value);

le problème a été résolu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X