Aidez-nous à vous aider et remplissez les cases appropriées :
Votre version de LimeSurvey :
Version 6.5.2+240402
Votre propre serveur ou LimeSurvey Cloud : Community Edition hébergée sur mon propre serveur
Thème : Bootstrap Vanilla
==================
Bonjour,
Je tente en vain de mettre en place une condition d'affichage de mon bouton "Envoyer" en fonction du respect d'une condition dans mon formulaire.
En clair, je voudrais que le bouton "Envoyer" soit désactivé tant que la valeur d'un champ n'est pas égal à la somme de plusieurs champs (tous ces champs sont des entrées numériques).
J'ai essayé de réutiliser un script glané sur un forum mais il m'empêcher d'aller plus loin que la première question à choix multiple. N'étant pas développeur, je patine et voulais savoir s'il y avait un moyen simple pour arriver à mes fins.
Est-ce que quelqu'un peut me guider ?
Merci pour votre aide !
Le script que j'essaie d'intégrer sur une question de type texte : J'ai pensé que je devais remplacer le sélecteur
par
Code:
input[type="submit"]
pour cibler le bouton "Envoyer" mais ça ne fonctionne pas dans les deux cas ;(
$(document).ready(function() {
// Fonction pour désactiver le bouton Envoyer
function disableSubmitButton() {
$('input[type="submit"]').prop('disabled', true); // Désactive le bouton Envoyer
}
// Fonction pour activer le bouton Envoyer
function enableSubmitButton() {
$('input[type="submit"]').prop('disabled', false); // Active le bouton Envoyer
}
// Fonction pour vérifier si la condition est respectée
function checkCondition() {
var sum = 0;
// Ajoute la valeur de chaque question à la somme
sum += parseInt($('#question{G01Q02_SQ001.shown} input[type="text"]').val() || 0);
sum += parseInt($('#question{G01Q02_SQ002.shown} input[type="text"]').val() || 0);
sum += parseInt($('#question{G01Q02_SQ003.shown} input[type="text"]').val() || 0);
sum += parseInt($('#question{G01Q02_SQ004.shown} input[type="text"]').val() || 0);
sum += parseInt($('#question{G01Q02_SQ005.shown} input[type="text"]').val() || 0);
sum += parseInt($('#question{G01Q02_SQ006.shown} input[type="text"]').val() || 0);
sum += parseInt($('#question{G01Q03.shown} input[type="text"]').val() || 0);
sum += parseInt($('#question{G01Q04.shown} input[type="text"]').val() || 0);
var attributeValue = parseInt('{TOKEN:ATTRIBUTE_4}'); // Obtient la valeur de l'attribut ATTRIBUTE_4
// Vérifie si la condition est respectée
if (sum === attributeValue) {
enableSubmitButton(); // Active le bouton Envoyer
} else {
disableSubmitButton(); // Désactive le bouton Envoyer
}
}
// Vérifie la condition lorsque la réponse à une question change
$('input[type="text"]').on('input', checkCondition);
// Vérifie la condition par défaut
setTimeout(checkCondition, 100);
});