2 votes

Jquery click automation with delay ?

J'essaie de faire un jquery script qui clique sur tous les éléments de la classe (avec un délai - setTimeout) lorsque la case à cocher est cochée et que l'on clique sur le bouton 'automatic send', mais quelque chose ne va pas et ça ne marche pas :( Voici mon code HTML/PHP :

<td class="send_div">
    <a class="meilsend" href ="smtp/send.php?name='.$result['name'].'&ref='.$result['refnummer'].'&invoice_number='.$result['invoice_number'].'&insurance='.$result['insurance'].'">Send mail</a>
    <a class="fastsend" href="#" style="display: none;">Fast mail</a>
    <a class="fastsend2" href="smtp/fastsend.php?name='.$result['name'].'&ref='.$result['refnummer'].'&invoice_number='.$result['invoice_number'].'&insurance='.$result['insurance'].'" style="display: none;">Fast mail</a>
</td>

<th>
    Send mail  
    Fast Mode<input id="fastmode" type="checkbox" name="fastmode" value="1">
    <span style="display: none; cursor: pointer;" id="automatic">Automatic send</span>
</th>

Voici mon jquery

$('input[type=checkbox]#fastmode').on('click',function () {
    if ($('#fastmode').is(':checked')) {
       alert('You turn fast mode ON!');
       $('.meilsend').hide();
       $('.fastsend').show();
       $('#automatic').show();

      //START AUTOMATIC

      //END AUTOMATIC

      //AJAX
       $('.fastsend').on('click', function (){                      
        var fastsend = 'send';
        var fasthref = $(this).parent().find('.fastsend2').attr('href');
        $.ajax({
        url: fasthref,
        method: "POST",
        data: {fastsend:fastsend}, 
        success: function(data) 
        {
            $('#serachresult').fadeIn();
            $('#serachresult').html(data);          
        }       
        });   
        });
        // END AJAX

    } else {
        alert('You turn fast mode OFF!');
        $('.meilsend').show();
        $('.fastsend').hide()
        $('#automatic').hide()
    }  
}); `

1voto

Elias MP Points 878

Avez-vous débogué votre code ? F12 et ainsi de suite... Pouvez-vous mettre en forme votre réponse (l'éditer)... Je deviens aveugle en essayant de lire la première partie de votre code (si quelque chose...)... :P

Quoi qu'il en soit, essayez ceci, pour l'appel Ajax :

        $.ajax({
            url: fasthref,
            type: "POST",
            contentType: 'application/json',
            data: "{ 'fastsend': fastsend}",
            dataType: 'json',
            success: function (result) {
                $('#serachresult').fadeIn();
                $('#serachresult').html(data);
            }     
            error: function (ex) {
                // DO YOUR STUFF
            }
        });

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X