Boite de dialogue HTML - évenement onclick personalisé Le sujet est résolu

Avatar de l’utilisateur
hamster18

Membre tout neuf
Messages : 2
Inscription : 24 oct. 2022 09:18

Boite de dialogue HTML - évenement onclick personalisé

Message par hamster18 »

Bonjour,
Je début dans la programmation AppScript (langage de programmation sur Google Sheet).J'ai créé ma propre boite de dialogue avec 3 boutons : "Oui", "Non", "Annuler" définie dans le fichier "boiteDeDialogue.html". J'aimerais que lorsque le bouton "Oui" est cliquer une routine particulière soit effectué. Cette routine est définie dans la fonction clickYes(). Dans cette fonction je fait appelle à une de la fonction recuperer() créer dans "Code.gs" . Cependant j'ai l'impression que la fonction recuperer() de clickYes() n'était pas appelé. Voici mes codes :


function recuperer() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheetSetting = spreadsheet.setActiveSheet(spreadsheet.getSheetByName("Feuille 1"), true);
sheetSetting.getRange("A1").setValue = "coucou";
Logger.log("coucou");
}

<script>
function clickYes(){
console.log("je passes");
google.script.run.recuperer();
google.script.host.close();
}
</script>

<div>
<input type="button" class="btn btn-outline-success fs-5 text fw-bold m-2 px-4" value="Oui" id = "id_btn_yes" name = "name_btn_yes" onclick="clickYes()">
<input type="button" class="btn btn-outline-danger fs-5 text fw-bold m-2 px-4" value="Non" id = "id_btn_no" name = "name_btn_no" onclick="google.script.host.close()">
<input type="button" class="btn btn-outline-secondary fs-5 text fw-bold m-2 px-4" value="Fermer" id = "id_btn_close" name = "name_btn_close" onclick="google.script.host.close()">
</div>

Vous pouvez aussi voir mon fichier google sheet au lien suivant : https://accounts.google.com/v3/signin/identifier?dsh=S-1929025575%3A1666330868896944&continue=https%3A%2F%2Fdocs.google.com%2Fspreadsheets%2Fd%2F1iA3fhpjdo5Leu2PvMmoRKIne2aUDOhHJPDgUmIpRbx0%2Fedit&followup=https%3A%2F%2Fdocs.google.com%2Fspreadsheets%2Fd%2F1iA3fhpjdo5Leu2PvMmoRKIne2aUDOhHJPDgUmIpRbx0%2Fedit<mpl=sheets&osid=1&passive=1209600&service=wise&flowName=GlifWebSignIn&flowEntry=ServiceLogin&ifkv=AQDHYWrWek1ti2qsmG0gGENZkpSprENdPLATHuRrY2HNfM5peqE0f6e3MW2jY6yHMwiFgd9b36AOvQ#gid=0

Pouvez vous m'aider à trouver mon erreur ?

Merci d'avance pour votre aide.

Cordialement.
Avatar de l’utilisateur
RémiD

Coach Numericoach
Invétéré
Messages : 24
Inscription : 12 avr. 2022 16:38
A remercié : 3 fois
Remercié : 3 fois

Re: Boite de dialogue HTML - évenement onclick personalisé

Message par RémiD »

Salut hamster18 !
Pour disposer d'un retour Log et avoir un comportement un peu plus maîtrisable je te conseil de faire appel à ta routine serveur avec un ResponseHandler, comme décrit sur cette documentation : https://developers.google.com/apps-scri ... dex.html_1

Le handler te permettra de recevoir sur ton front la réponse du serveur et continuer l’exécution de ton code dès que le serveur à bien exécuté ta requête !
N'hésite pas à créer un nouveau GAppScript contenant l'exemple de la documentation ci-dessus pour essayer d'adapter ça avec ton besoin 😀

J'espère avoir pu t'éclairer un peu plus sur ce point ! Bonne matinée à toi et à très vite !
Avatar de l’utilisateur
hamster18

Membre tout neuf
Messages : 2
Inscription : 24 oct. 2022 09:18

Re: Boite de dialogue HTML - évenement onclick personalisé

Message par hamster18 »

Bonjour RémiD !

La routine de la fonction recuperer() est bateau pour l'instant, je réalise des tests pour la mettre un œuvre ma vrai fonction une fois la solution trouver.

Ainsi je ne comprend pas l'utilité d'utilisé un handler ... car moi c'est vraiment au moment du clique que ma fonction dois être exécuté...

Merci d'avance de ton retour.

Cordialement.
Thierry

Coach Numericoach
Invétéré
Messages : 132
Inscription : 11 sept. 2022 20:27
A remercié : 2 fois
Remercié : 23 fois

Re: Boite de dialogue HTML - évenement onclick personalisé

Message par Thierry »

Rémi te répondra ASAP, je viens de le pinguer sur notre canal interne SLACK ;-)
 
Avatar de l’utilisateur
RémiD

Coach Numericoach
Invétéré
Messages : 24
Inscription : 12 avr. 2022 16:38
A remercié : 3 fois
Remercié : 3 fois

Re: Boite de dialogue HTML - évenement onclick personalisé

Message par RémiD »

Hello Hamster18 ! J'espère que tu vas bien ?
J'ai pu me pencher un peu plus sur ton problème, et après avoir checké la console j'ai pu constater que c'était ici la fonction "google.script.host.close" qui posait problème !

Voici un exemple de la fonction recuperer() que je viens de re-rédiger 😉
function recuperer() {
const activesheet=SpreadsheetApp.getActive();
const sheetsmod = activesheet.getSheetByName('Feuille 1');
sheetsmod.getRange('A1').setValue('Changé :)');
}


Et le code HTML avec le script lié :
<input type="button" class="btn btn-outline-success fs-5 text fw-bold m-2 px-4" value="Oui" id = "id_btn_yes" name = "name_btn_yes" onclick="clickYes()">
<script>
function clickYes(){
console.log("je passes");
google.script.run.recuperer();}
</script>

En espérant avoir pu t'aider, n'hésite pas à revenir vers nous si tu as des questions ! Bonne journée à toi et à très vite ! :-)
Répondre

Rejoignez la discussion 💬

Vous devez être enregistré pour participer à la discussion et échanger avec les différents membres

Inscrivez-vous dès aujourd'hui

Vous n'êtes pas encore membre ? Rejoignez-nous gratuitement dès aujourd'hui et contribuer en postant votre réponse ou question sur tous les forums disponibles

Inscription

Connectez-vous