Résolu J'ai besoin d'aide en Jquery

SoCoolMen

IPTV Dispo
Premium
Inscription
15 Novembre 2011
Messages
3 012
Réactions
1 064
Points
22 509
RGCoins
105
Yo

J'ai besoin d'un petit coup de main :)
Je voudrais quand je clique sur spammer il y a un decompte du nombre d'envoie de message mais sa marque juste Terminé et la page s'actualise

PHP:
<h2>Spammer PSN</h2>
    <form name="formu"action="" method="POST">
       <input type="text" name="message" placeholder="Ton Message" /><br />
        <input type="text" name="number" placeholder="Ton Nombre de Message" /><br />
        <input type="text" name="destinataire" placeholder="Le Destinataire" /><br />
        <input type="submit" name="resolve" onclick="start()" class="btn btn-info btn-medium" value="Spammer !" />
    </form>
        <?php
    if (isset($_POST['resolve'])) {
        $numbermin = 1;
$numbermax = htmlspecialchars($_POST['number']);
        while ($numbermin <= $numbermax)
{
        $message = htmlspecialchars($_POST['message']);
        $destinataire = htmlspecialchars($_POST['destinataire']);
        file_get_contents('API SWAG');
        $numbermin++;}
        echo '<br/><div id="bip" class="display"></div>';
}
    ?>
    <div id="bip" class="display"></div>
<script>
var counter = '<?php echo $message ?>';
var intervalId = null;
function action()
{
  clearInterval(intervalId);
  document.getElementById("bip").innerHTML = "TERMINE!";   
}
function bip()
{
  document.getElementById("bip").innerHTML = counter + " messages restantes";
  counter--;
}
function start()
{
  intervalId = setInterval(bip, 1000);
  setTimeout(action, counter * 1000);
}   
</script>
 
Commence par remplacer
HTML:
<input type="submit" name="resolve" onclick="start()" class="btn btn-info btn-medium" value="Spammer !" />

Par
HTML:
<button id="startSpam" type="submit" name="resolve" class="btn btn-info btn-medium">Spammer !</button>

puis dans ton code js tu rajoutes :
Code:
$('#startSpam').on('click', start);

ou tu supprimes la fonction start plus haut et tu mets ça à la place :
Code:
$('#startSpam').on('click', function(){
     intervalId = setInterval(bip, 1000);
     setTimeout(action, counter * 1000);
})

Ensuite actuellement tu ne peux pas faire de décompte vu que ta page est rechargée à chaque fois que tu utilises le formulaire, ou faudrait save le nombre de requête dans la $_SESSION[]

Si tu veux absolument faire un décompte en js, je te conseille alors de voir du côté de l'Ajax :)

Ensuite j'ai pas compris pourquoi tu mets du texte ici :
var counter = '<?php echo $message ?>';

puis tu décrémentes un peu plus bas ? Tu t'es trompé quelque part
 
Commence par remplacer
<input type="submit" name="resolve" onclick="start()" class="btn btn-info btn-medium" value="Spammer !" />

Par
<button id="startSpam" type="submit" name="resolve" class="btn btn-info btn-medium">Spammer !</button>

Ensuite actuellement tu ne peux pas faire de décompte vu que ta page est rechargée à chaque fois que tu utilises le formulaire, ou faudrait save le nombre de requête dans la $_SESSION[]

Si tu veux absolument faire un décompte en js, je te conseille alors de voir du côté de l'Ajax :)

Ensuite j'ai pas compris pourquoi tu mets du texte ici :
var counter = '<?php echo $message ?>';

puis tu décrémentes un peu plus bas ? Tu t'es trompé quelque part
Alors j'ai fais c'bon, comment ne pas la recharger alors? Bah dans le counter je recup le nombre de message que j'ai rentré plus pour que sa aille jusque 0
 
J'ai édité le titre de ta discussion pour que celle-ci soit plus compréhensible.

A l'avenir essaie de faire des titres plus longs et détaillés, plus le titre est long et détaillé, plus tu obtiendras de vues ainsi que des réponses . :tchuss:
 
Retour
Haut