IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Rappeler une function Callback


Sujet :

JavaScript

  1. #1
    Membre actif
    Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 319
    Points : 295
    Points
    295
    Par défaut Rappeler une function Callback
    Bonjour à tous,

    Je viens de m'apercevoir un petit problème, je n’arrive pas à rappeler ma fonction une deuxième fois de suite, ce que j’ai plus constaté c’est qu'au bout de quelques minutes il est possible de rappeler cette fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button id="tweeter" class="g-recaptcha btn btn-secondary btn-sm tweet-btn" data-theme="dark" data-sitekey="<?php echo $sitekey; ?>" data-callback="sendtweet"><?php echo $btntweet; ?></button>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    function sendtweet() {
        var text = $('#tweet-textbox').val();
        var retweet = $("#tweet-retweetbox").val();
        var picture = $('#tweet-picturebox')[0].files[0];
        var hashtag = $('#tweet-hashtagbox').val();
     
        formdata = new FormData();
        var gresponse = grecaptcha.getResponse();
        grecaptcha.reset();
     
        formdata.append("tweet", text);
        formdata.append("retweet", retweet);
        formdata.append("picture", picture);
        formdata.append("hashtag", hashtag);
        formdata.append("g-recaptcha-response", gresponse);
     
        if (text.length < 20) {
            $('#tweet-short').fadeIn(400);
            $('#tweet-short').delay(3000).fadeOut(400);
        } else {
            $("#charNum").html('<img src="assets/images/tweet/loader.gif" alt=""/>');
            $("#tweet-textbox").val('');
            $("#tweet-retweetbox").val(0);
            $("#tweet-picturebox").val('');
            $("#tweet-hashtagbox").val('');
     
            $.ajax({
                type: 'POST',
                url: 'includes/post.tweeter.php',
                data: formdata,
                processData: false,
                contentType: false,
                success: function(data) {
                    if (data.status === 'ok') {
                        $('#tweet-success').fadeIn(400);
                        $('#tweet-success').delay(3000).fadeOut(400);
     
                        setTimeout(function() {
                            $(location).attr('href', 'index.php');
                        }, 3800);
                    } else if (data.status === 'blocked') {
                        $('#tweet-blocked').fadeIn(400);
                        $('#tweet-blocked').delay(3000).fadeOut(400);
                    } else if (data.status === 'upload') {
                        $('#tweet-upload').fadeIn(400);
                        $('#tweet-upload').delay(3000).fadeOut(400);
                    } else if (data.status === 'captcha') {
                        $('#tweet-captcha').fadeIn(400);
                        $('#tweet-captcha').delay(3000).fadeOut(400);
                    } else if (data.status === 'guest') {
                        $("#user_login").modal();
                    } else {
                        $('#tweet-error').fadeIn(400);
                        $('#tweet-error').delay(3000).fadeOut(400);
                    }
     
                    $("#charNum").html('');
                    $("#charNum").html('300');
                },
                error: function() {
                    $('#tweet-error').fadeIn(400);
                    $('#tweet-error').delay(3000).fadeOut(400);
                    $("#charNum").html('');
                    $("#charNum").html('300');
                }
            });
        }
    }
    Merci.

  2. #2
    Membre actif
    Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 319
    Points : 295
    Points
    295
    Par défaut
    Je pense que le problème vient du data-callback="sendtweet" donc du ReCaptcha.

  3. #3
    Membre actif
    Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 319
    Points : 295
    Points
    295
    Par défaut
    Problème résolu , sur cette page j’ai plusieurs Captcha Modal : Login = grecaptcha.reset(); / signup = grecaptcha.reset(2); / forgotpass = grecaptcha.reset(1);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function sendtweet() {
        ...
        formdata = new FormData();
        var gresponse = grecaptcha.getResponse(3);
        grecaptcha.reset(3);
    ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème passage de GtkFileFIlter à une function callback
    Par Spitfire 95 dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 11/05/2012, 08h20
  2. Type "groupe de controles" dans une function
    Par méphistopheles dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 20/06/2008, 21h07
  3. Comment rappeler une fonction dans une liste déroulante
    Par strogos dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/05/2005, 23h54
  4. ASP rappeller une page
    Par pete007 dans le forum ASP
    Réponses: 2
    Dernier message: 02/04/2004, 15h41
  5. tbitmap.free dans une function
    Par portu dans le forum Langage
    Réponses: 7
    Dernier message: 19/06/2003, 22h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo