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.
Boite de dialogue HTML - évenement onclick personalisé Le sujet est résolu
Re: Boite de dialogue HTML - évenement onclick personalisé
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 !
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 !
Re: Boite de dialogue HTML - évenement onclick personalisé
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.
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.
Re: Boite de dialogue HTML - évenement onclick personalisé
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 !
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 !
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