J'ai deux fonctions qui sont déclenchées pendant que l'utilisateur entre des données. Ils additionnent essentiellement les valeurs des options qu'ils choisissent et les produisent.Le déclenchement des fonctions JS au chargement de la page ne fonctionne pas
Sur ce formulaire, en particulier, les options sont déjà préremplies. Pour cette raison, les fonctions n'ont pas été déclenchées, laissant leur calcul comme null
.
Les fonctions sont présentés juste au-dessus </body>
Fonctions:
$(calculateScore);
function calculateScore() {
var fields = $('.form-group #input').change(calculate);
function calculate() {
var score = 0;
fields.each(function() {
score += +$(this).val();
});
$('#score').html(score.toFixed(0));
}
}
$(calculateHiddenScore);
function calculateHiddenScore() {
var fields = $('.form-group #input').change(calculate);
function calculate() {
var score = 0;
fields.each(function() {
score += +$(this).val();
});
$('#hidden_score').val(score.toFixed(0));
}
}
code placé sous les fonctions pour essayer de les déclencher:
$(function() {
calculateHiddenScore();
calculateScore();
});
et j'ai aussi essayé:
Comment puis-je déclencher ces deux fonctions lorsque la page a chargé s'il vous plaît?window.onload = function() {
calculateScore();
calculateHiddenScore();
};
Merci beaucoup.
Comment déterminez-vous que les fonctions ne sont pas en cours d'exécution (par opposition à l'échec pour une autre raison)? Avez-vous ajouté des instructions 'console.log' à vérifier? Des messages d'erreur sont-ils affichés dans la Developer Tools Console? – Quentin
J'ai déterminé qu'ils ne sont pas en cours d'exécution parce que les champs pré-remplis ont des valeurs qui, additionnées, totalisent> 0. Si je change une option de liste déroulante, il déclenche alors les fonctions, qui résultent en un total> est actuellement. – Ben
Vos fonctions sont appelées. Vous n'appelez simplement pas ceux qu'ils appellent "change". –