[Javascript] eviter l'action onUnload

Fermé
doum74 Messages postés 5 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 7 avril 2006 - 5 avril 2006 à 14:59
HackTrack Messages postés 618 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 13 juillet 2013 - 6 avril 2006 à 10:57
Sur le "onUnload" de la page je lance une action. J'essaye de faire en sorte que cette action ne soit pas lancée si l'utilisateur effectue un choix dans la liste déroulante sur la page. Donc, sur le "onChange" du formulaire, j'aimerais "skipper" l'action faite sur le onUnload. Pour ce faire, j'essaye de modifier (dans le onChange il y a l'action suivante "document.formname.inputname.value = 1") le (document.formname.inputname.value) d'un <input type="hidden" value='0'> pour mettre la valeur à 1. Ensuite, dans la fonction qui effectue l'action sur le "onUnload" (mafonction(document.formname.inputname.value)), j'essaye de vérifier la valeur du input en faisant :


function mafonction(test)
{
if (test ==1)
{
RIEN;
}
else
{
L'ACTION À FAIRE;
}
}

1 réponse

HackTrack Messages postés 618 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 13 juillet 2013 972
6 avril 2006 à 10:57
Je ferai comme ceci.

Tu n'as plus qu'à adapter.

<html>
<head>
<script>
  function doSomething(){
    if(document.all('inputname').value==0){
      // Ajouter le code à exécuter ici
      alert("onunload est exécuté");
    }
    return true;
  }
</script>
</head>

<body>
  <form name="formname" action="https://www.google.be/webhp?gws_rd=ssl" method="GET">
  <select name="q" onchange="document.all('inputname').value=1;">
	<option name="q" value="JBoss">JBoss</option>
	<option name="q" value="Eclipse">Eclipse</option>
	<option name="q" value="Java & Javascript">Java & Javascript</option>
  </select>
  <input type="hidden" name="hl" value="fr"/>
  <input type="submit"onclick="doSomething();" value="Envoyer" />

  </form>
  <input type="hidden" name="inputname" value="0"/>
</body>
</html>


;-)
HackTrack
2