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 :

Comment réécrire mon Code pour attribuer de nouvelle valeur aux Variables sans appel AJAX $.post ?


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut Comment réécrire mon Code pour attribuer de nouvelle valeur aux Variables sans appel AJAX $.post ?
    Bonjour à tous.

    Habituellement, lorsqu'on clique sur "Go" au niveau de la Page HTML, on reçoit comme résultat la phrase suivante:

    You win 1.234567

    Sachant que le Code HTML correspondant est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Code pour le button du Clique (Go) :
     
    <input type="submit" value="Go" id="free_go_button">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Code qui affiche la phrase du résultat (You win 1.234567) ci-dessus :
     
    You win <span id="ng"></span>
    Alors mon but est que lors du clique sur "Go", qu'on reçoive une réponse comme ceci :

    You win 0.123456

    Au lieu de celle (You win 1.234567) qui s'affiche à l'origine.

    Le Code JS lié au Code HTML est :

    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    $("#free_go_button").click(function(event) {
        event.preventDefault();
        $('#free_play_digits').show();
        $('.free_play_element').hide();
        var fingerprint = $.fingerprint();
        var fingerprint2 = new Fingerprint({
            canvas: true,
            screen_resolution: true,
            ie_activex: true
        }).get();
        var token = $("#free_play_form").find('[name="' + token_name + '"]').val();
        var intervalID = setInterval(function() {
            $("#free_play_first_digit").html(Math.floor(Math.random() * 10));
            $("#free_play_second_digit").html(Math.floor(Math.random() * 10));
            $("#free_play_third_digit").html(Math.floor(Math.random() * 10));
            $("#free_play_fourth_digit").html(Math.floor(Math.random() * 10));
            $("#free_play_fifth_digit").html(Math.floor(Math.random() * 10));
        }, 10);
        $("#free_go_button").attr("disabled", true);
        $("html, body").animate({
            scrollTop: $("#free_play_digits").offset().top - 50
        }, "fast");
        var post_variables = {
            op: 'free_play',
            fingerprint: fingerprint,
            client_seed: $('#next_client_seed').val(),
            fingerprint2: fingerprint2
        };
        post_variables[token_name] = token;
        post_variables[tcGiQefA] = window[tcGiQefA];
        if ($("#free_play_recaptcha").length > 0) {
            post_variables['g_recaptcha_response'] = $("#free_play_form").find('#g-recaptcha-response').val() || grecaptcha.getResponse();
        }
        if ($("#captchasnet_free_play_captcha").length > 0) {
            post_variables['captchasnet_random'] = $('#captchasnet_free_play_captcha .captchasnet_captcha_random').val();
            post_variables['captchasnet_response'] = $('#captchasnet_free_play_captcha .captchasnet_captcha_input_box').val();
        }
        if ($("#free_play_solvemedia").length > 0) {
            post_variables['solvemedia_challenge'] = $("#free_play_form").find('#adcopy_challenge').val();
            post_variables['solvemedia_response'] = $("#free_play_form").find('#adcopy_response').val();
        }
        if ($("#securimage_free_play_captcha").length > 0) {
            post_variables['securimage_random'] = $('#securimage_free_play_captcha .captchasnet_captcha_random').val();
            post_variables['securimage_response'] = $('#securimage_free_play_captcha .captchasnet_captcha_input_box').val();
        }
        var posting = $.post('/', post_variables);
        posting.done(function(data) {
            var result = data.split(":");
            $('#free_play_error').html("");
            $('#free_play_error').hide();
            clearInterval(intervalID);
            $("#free_play_first_digit").html(0);
            $("#free_play_second_digit").html(0);
            $("#free_play_third_digit").html(0);
            $("#free_play_fourth_digit").html(0);
            $("#free_play_fifth_digit").html(0);
            if (result[0] == "e") {
                $('#free_play_digits').hide();
                $('.free_play_element').show();
                $('#free_play_error').show();
                $('#free_play_error').html(result[1]);
                if ($("#free_play_recaptcha").length > 0) {
                    grecaptcha.reset();
                }
                if ($("#captchasnet_free_play_captcha").length > 0) {
                    GenerateCaptchasNetCaptcha('captchasnet_free_play_captcha', 0);
                }
                if ($("#free_play_solvemedia").length > 0) {
                    ACPuzzle.reload();
                }
                if ($("#securimage_free_play_captcha").length > 0) {
                    GenerateCaptchasNetCaptcha('securimage_free_play_captcha', 2);
                }
                if (result[3] == "e1") {
                    $('#free_play_error').hide();
                    $('.free_play_element').hide();
                    $('#wait').show();
                    $('#same_ip_error').show();
                    $('#same_ip_error').html(result[1]);
                    $('#time_remaining').countdown({
                        until: +result[2],
                        format: 'MS'
                    });
                    setTimeout(function() {
                        RefreshPageAfterFreePlayTimerEnds();
                    }, parseInt(result[2]) * 1000);
                    title_countdown(parseInt(result[2]));
                }
            } else if (result[0] == "s") {
                var number = result[1];
                var single_digit = number.split("");
                if (number.toString().length < 5) {
                    var remaining = 5 - number.toString().length;
                    for (var i = 0; i < remaining; i++) {
                        single_digit.unshift('0');
                    }
                }
                $("#free_play_first_digit").html(single_digit[0]);
                $("#free_play_second_digit").html(single_digit[1]);
                $("#free_play_third_digit").html(single_digit[2]);
                $("#free_play_fourth_digit").html(single_digit[3]);
                $("#free_play_fifth_digit").html(single_digit[4]);
                $.cookie.raw = true;
                $.cookie('last_play', result[4], {
                    expires: 3650,
                    secure: true
                });
                $.removeCookie('ivp7GpJPvMtG');
                $('.free_play_element').hide();
                $('#free_play_result').show();
                $('#wait').show();
                $('#balance').html(result[2]);
                balanceChanged();
                $('#time_remaining').countdown({
                    until: +3600,
                    format: 'MS'
                });
                setTimeout(function() {
                    RefreshPageAfterFreePlayTimerEnds();
                }, 3600 * 1000);
                title_countdown(3600);
                free_go = parseFloat(Math.round(result[3] * 100000000) / 100000000).toFixed(6);
                $('#ng').html(free_go);
                $('#balance_usd').html(result[5]);
                $('#next_server_seed_hash').val(result[6]);
                $('#next_nonce').html(result[8]);
                $('.previous_server_seed').html(result[9]);
                $('#previous_server_seed_hash').val(result[10]);
                $('.previous_client_seed').html(result[11]);
                $('.previous_nonce').html(result[12]);
                $('#previous_roll').html(result[1]);
                $('#no_previous_rolls_msg').hide();
                $('#previous_rolls_table').show();
                $('#previous_roll_strings').show();
                $("#verify_rolls_link").attr("href", "https://s3.amazonaws.com/roll-verifier/verify.html?server_seed=" + result[9] + "&client_seed=" + result[11] + "&server_seed_hash=" + result[10] + "&nonce=" + result[12]);
                $('#user_lottery_tickets').html(ReplaceNumberWithCommas(result[13]));
                $('.user_reward_points').html(ReplaceNumberWithCommas(result[14]));
                $('#fp_lottery_tickets_won').html(result[15]);
                $('#fp_reward_points_won').html(result[16]);
                $('#fp_multiplier_bonus').html(result[17]);
                $('#fp_bonus_req_completed').html(result[18]);
                if (parseInt(result[1]) > 9997) {
                    var fp_win_amt = 20;
                    if (parseInt(result[1]) > 9999) {
                        fp_win_amt = 200;
                    }
                    $('#make_extra_5_msg').show();
                    $('#fp_forum_msg').html('I just won $' + fp_win_amt + ' at FreeBitco.in!
    
    My user id is ' + socket_userid + '.
    
    My winning seeds: ' + "https://s3.amazonaws.com/roll-verifier/verify.html?server_seed=" + result[9] + "&client_seed=" + result[11] + "&server_seed_hash=" + result[10] + "&nonce=" + result[12]);
                }
                setTimeout(function() {
                    $('.show_multiply_modal').click();
                }, 2000);
            }
            $("#free_go_button").attr("disabled", false);
        });
    });

    Si je ne me trompe pas, on remarque qu'il y a un appel Ajax $.post de la variable "posting" à partir de la ligne 46.
    Sachant que tout ceci est dans la fonction posting.done(function(data)) qui commence par le ligne 47, je voudrais que vous m'aidiez svp à réécrire le Code sans appel Ajax de sorte à attribuer une nouvelle valeur "0.123456" à la variable "free_go" de la ligne 122 pour qu'elle donne comme résultat au niveau de la Page HTML "You win 0.123456".

    Comment donc réécrire le Code pour qu'il écrase l'ancien code en l'insérant dans la Console du Navigateur (Firefox ou Google Chrome) et attribuer une nouvelle valeur la variable "free_go" au niveau de la ligne 122 pour que l'id "ng" (ligne 123) qui fait appel à cette variable "free_go" donne comme réponse "You win 0.123456" côté Html ET surtout sans appel aux données Ajax ???

    En gros, c'est la valeur de result[3] que je cherche à modifier pour que (lors du clique) la variable free_go dans laquelle il est défini (result[3]) dans le Code JS ci-dessus (ligne 122) soit égale à 0.123456. Ce qui permettra à la fin à l'id "ng" (ligne 123) d'afficher après au niveau du résultat de la Page HTML "You win 0.123456".

    Mais tout ceci de sorte à ce que si j'insère cela via la Console du Navigateur, qu'il écrase l'ancienne partie de ce Code et fasse fonctionner le tout nouveau Code fraîchement modifier et inséré.


    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Bonsoir grezako,

    on a un autre membre, cheboy, qui nous a posé une question similaire récemment. Je ne comprends pas exactement le résultat que tu veux obtenir in fine. Si tu changes une chaîne dans la page, ça ne sera qu’une modification de ta copie locale de la page, dans la mémoire de ton navigateur. La vraie valeur est stockée sur le serveur et tu n’y as pas accès.

    Sans savoir vraiment où tu veux aller, je ne sais pas si je vais pouvoir t’aider efficacement. Mais allons-y…

    Dans le code, il n’y a qu’une seule référence à l’élément #ng, et elle se trouve à cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#ng').html(free_go);
    La variable free_go est calculée juste avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    free_go = parseFloat(Math.round(result[3] * 100000000) / 100000000).toFixed(6);
    La variable result est initialisée au tout début de la fonction .done() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var result = data.split(":");
    Et data ce sont les données provenant du serveur. Exactement comme dans la question de cheboy. Étrange coïncidence…


    Je vais te donner une réponse naïve à ton problème, une réponse qui correspond exactement à la question que tu poses. Mais le problème c’est que je ne suis pas sûr que tu poses la bonne question
    Pour que le clic sur le bouton « go » change la valeur sans faire d’appel ajax, il faut supprimer la fonction existante qui gère les évènements click. Pour faire ça, on utilise la méthode .off(). (jQuery >= 1.7)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#free_go_button").off("click");
    Ensuite, tu ajoutes ta propre fonction de click :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $("#free_go_button").click(function (event) {
      $("#ng").text("0.123456");
    });
    Et il ne reste plus qu’à cliquer sur le bouton.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Ok merci à vous.

Discussions similaires

  1. [XL-2007] Comment améliorer mon code pour ajout et modification de user code
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/08/2014, 14h16
  2. Réponses: 2
    Dernier message: 26/07/2011, 09h19
  3. Réponses: 7
    Dernier message: 25/07/2007, 13h14
  4. [Sécurité] Comment amélioré mon code ?
    Par Nadd dans le forum Langage
    Réponses: 14
    Dernier message: 03/03/2006, 20h13

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