Autre question pendant que j’y suis (dis-moi si je dois ouvrir une nouvelle discussion) :
J’aimerais afficher le total en euros, soit la somme de toutes les valeurs entrées dans chaque champ « nombre » pondérées par le prix correspondant. Est-ce quelque chose de possible ? Peut-on récupérer les valeurs des champs dans champ « balisage » et y mettre du code javascript ? L’idéal serait d’avoir le total en bas du formulaire qui s’actualise à mesure que les champs sont remplis, mais le total affiché simplement sur la page de confirmation me conviendrait aussi.
Hello,
je ne veux pas être défaitiste, mais je ne crois pas que ce soit possible. En général, quand personne ne répond à une question, c’est que personne n’a pas la solution (du moins sans avoir cherché à la développer lui-même).
As-tu essayé ton approche en injectant du javascript dans un composant « balise HTML » ?
Merci pour ta réponse. C’est justement ce que j’aimerais tester mais je ne suis pas développeur et ne sait pas trop comment tester ça.
Avant de découvrir Framaforms, j’avais réussi à faire une page HTML avec une partie codée en javascript pour faire la somme pondérée des champs numériques. Voici à quoi ressemble ce code :
<script>
var calculer_la_somme = function() {
var cerises = document.getElementsByName('cerises');
var abricots = document.getElementsByName('abricots_hargrand_extra');
var nectarines = document.getElementsByName('nect_jaunes_carene_extra');
var total = cerises[0].value * 25 + abricots[0].value * 17 + nectarines[0].value * 14
document.getElementById('somme').innerHTML = 'Somme : ' + total + ' €';
};
<!--var click_calculer = document.getElementById('calculer');-->
var click_cerises = document.getElementById('cerises');
var click_abricots = document.getElementById('abricots_hargrand_extra');
var click_nectarines = document.getElementById('nect_jaunes_carene_extra');
<!--click_calculer.addEventListener('click', calculer_la_somme, false);-->
click_cerises.addEventListener('click', calculer_la_somme, false);
click_cerises.addEventListener('keyup', calculer_la_somme, false);
click_abricots.addEventListener('click', calculer_la_somme, false);
click_abricots.addEventListener('keyup', calculer_la_somme, false);
click_nectarines.addEventListener('click', calculer_la_somme, false);
click_nectarines.addEventListener('keyup', calculer_la_somme, false);
</script>
Vois-tu comment je pourrais adapter ce code pour le mettre dans un composant « balise HTML » ? Quelle est la syntaxe pour récupérer les champs numériques dans un Framaforms ?
Peut-être que je devrais d’abord essayer de mettre un code javascript très basique dans composant « balise HTML » simplement pour voir si le javascript est « lu » par Framaforms. Y a-t-il une sorte de Hello World en javascript que je pourrais mettre ?
Il va te falloir utiliser la console de développement du navigateur pour fouiller le document et vérifier que tu peux identifier à coup sûr les composants qui t’intéressent.
Ensuite, « hello world » en javascript peut se faire par un simple <script> alert("coucou")</script>
J’ai tenté <script> alert("coucou")</script> dans une balise HTML. Je ne pense pas que le javascript soit reconnu car dans le formulaire s’affiche « alert(« coucou ») ».