2017-09-26 1 views
0

Je sais comment envoyer un formulaire sans actualisation de page avec jQuery. Ce n'est pas ce dont je parle ici. Je voulais juste le signaler. J'ai un bouton quand onclick() affichera un formulaire et un lien caché. Le problème auquel je suis confronté est lorsque le formulaire est soumis l'actualisation de la page afin que le lien caché retourne à l'état initial qui est caché.Y a-t-il un moyen d'empêcher la restauration d'une fonction lors de l'actualisation de la page?

Y at-il un moyen que je puisse empêcher une fonction à restaurer à l'actualisation de la page? C'est ce que je suis intéressé de savoir. Mais si la meilleure façon de le faire est d'empêcher le formulaire de rafraîchir, je le ferai. Je voulais juste savoir si je pouvais le faire d'une autre façon pour le savoir. J'essaie d'apprendre de nouvelles façons au lieu de toujours faire les mêmes trucs jQuery.

html

<button id="showOwn" type="button" onclick="showHiddenForm();" > 
I'm a returning client</button> 

<div id="hiddenForm" style="display:none;"> 

<form method="POST" action="form.php"> 
<input type="submit" name="validate_customer" value="Confirm Identity"> 
</form> 

<a id="hiddenLink" href='other_page.php>Continue as Roger Rabbit</a> 

</div> 

script

function showHiddenForm(){ 
    //show hidden form 
    document.getElementById("hiddenForm").style.display='block'; 
} 
+2

« _est-t-il une manière que je peux empêcher une fonction à restaurer la page refresh_ » stocker une valeur de cookie qui indique si vous devez exécuter la fonction ou non, et vérifiez que la valeur en votre fonction? – csmckelvey

+0

@csm_dev: Les informations purement client ne doivent plus jamais être stockées dans les cookies. C'était toujours une mauvaise idée, c'est juste qu'il n'y avait pas d'alternative avant le stockage web. Maintenant il y a. –

+0

@csm_dev: J'ai édité ma question avec un nouveau titre. –

Répondre

2

Utilisation localStorage:

window.onload =() => { 
if(localStorage.getItem("show")) 
    showHiddenForm(); 
}; 

function showHiddenForm(){ 
localStorage.setItem("show",true); 
//show hidden form 
document.getElementById("hiddenForm").style.display='block'; 
} 
+0

Eh bien merci monsieur. Très propre. –

1

Je voulais juste savoir si je pouvais le faire d'une autre manière pour l'amour de la connaissance.

magasin un drapeau dans le stockage local (ou le stockage de session) (spec | MDN) et chargement de la page, utilisez la présence/absense de ce drapeau pour déterminer si de brancher la fonction (ou de manière générale, faire tout ce c'est que vous voulez faire différemment, différemment).