Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/07/2011, 15h03   #1
Invité régulier
 
Inscription : octobre 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 45
Points : 7
Points : 7
Par défaut 2 fonctions sur 1 onclick

Bonjour j'aimerais passer 2 actions javascripts sur un onclick, mais je ne trouve pas de solutions !

Voici d'abord les deux input fonctionnant bien séparément :
Une confirmation
Code :
<input onclick="return(confirm('Etes-vous sûr de vouloir modifier ce grade ?'));" type="submit" value="Modifier" name="modif"/>
et une barre de progression
Code :
<input onclick="showWait('Modification en cours');" type="submit" value="Modifier" name="modif"/>
j'ai bien sur testé :

Code :
<input onclick="return(confirm('Etes-vous sûr de vouloir modifier ce grade ?'));showWait('Modification en cours');" type="submit" value="Modifier" name="modif"/>
Mais ça ne fonctionne pas, la deuxième action ne se réalise pas

Voici le second script repris sur le web donnant une barre de progression

Code :
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
	</script>
		<SCRIPT LANGUAGE="JavaScript">
    document.writeln("<div id=\"jsWaitMessage\" style=\"font-family: Verdana; font-size: 10px; text-align: center; padding: 3px; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; z-index:3\"></div>" );
    document.writeln("<div id=\"jsWaitArea\" style=\"display: none; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; border: 1px black solid; background: #fdd46c;z-index:2\">" );
    document.writeln("<div id=\"jsWaitBlock\" style=\"position: relative; left: 0px; height: 20px; width: 50px; background: #fcbb10;z-index:2\"></div>" );
    document.writeln("</div>" );
    jsWait_defaultInstance = null;
    function showWait(message)
    {
	  alert('Etes-vous sûr de vouloir modifier ce grade ?');
      jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', message);
      jsWait_defaultInstance.show();
    }
    function jsWait(name, message)
    {
      this.name = name;
      this.message = message;
      this.speed = 10;
      this.direction = 2;
      this.waiting = false;
      this.divMessage = document.getElementById("jsWaitMessage" );
      this.divArea = document.getElementById("jsWaitArea" );
      this.divBlock = document.getElementById("jsWaitBlock" );
    }
    jsWait.prototype.show = function()
    {
      this.divMessage.innerHTML = this.message;
      this.divMessage.style.display = "block";
      this.divArea.style.display = "block";
      this.divBlock.style.display = "block";
      this.divBlock.style.left = "0px";
      this.waiting = true;
 
      this.loop();
    }
    jsWait.prototype.setMessage = function(message)
    {
      this.message = message;
      this.divMessage.innerHTML = this.message;
    }
    jsWait.prototype.stop = function()
    {
      this.waiting = false;
      this.divMessage.style.display = "none";
      this.divArea.style.display = "none";
      this.divBlock.style.display = "none";
    }
    jsWait.prototype.loop = function()
    {
      myLeft = this.divBlock.style.left;
      myLeft = myLeft.substring(0, myLeft.length-2);
      intLeft = parseInt(myLeft);
      if(intLeft >= 250)
        this.direction = -2;
      if(intLeft <= 0)
        this.direction = 2;
      myLeft = "" + (intLeft+this.direction) + "px";
      this.divBlock.style.left = myLeft;
      if(this.waiting)
        setTimeout(this.name + ".loop()", this.speed);
    }
	</script>
merci d'avance pour votre aide
athome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 15h05   #2
Membre éclairé
 
Homme
Webmaster
Inscription : septembre 2007
Messages : 376
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2007
Messages : 376
Points : 377
Points : 377
Salut,

as tu essayé de mettre les fonctions dans l'ordre suivant :

Code :
1
2
 
<input onclick="showWait('Modification en cours');return(confirm('Etes-vous sûr de vouloir modifier ce grade ?'));" type="submit" value="Modifier" name="modif"/>
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 15h14   #3
Invité régulier
 
Inscription : octobre 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 45
Points : 7
Points : 7
dans ce cas là il me propose en premier une alert avec la seule réponse "OK" puis le confirm, si "oui" tout se réalise bien
si "non" la première fonction tourne en boucle, mais le script n'est pas réalisé.
c'est pas mal, mais dans mon cas il faudrait que cela ferme la fenêtre (popup) dans lequel j'exécute cette action.
athome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 15h17   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 030
Points : 45 128
Points : 45 128
tu es sur on bouton de type submit ...

passe par la onsubmit du form ... !
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 15h19   #5
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 260
Points : 7 260
Code :
1
2
3
4
5
6
7
8
9
10
function showWait(message)
    {
	  if confirm('Etes-vous sûr de vouloir modifier ce grade ?'){
		  jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', message);
		  jsWait_defaultInstance.show();
		  return true;
	  }else{
	   return false;
	  }
    }
Code html :
<input onclick="return showWait('Modification en cours');" type="submit" value="Modifier" name="modif"/>

Sinon j'ai mal compris la question.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 15h26   #6
Invité régulier
 
Inscription : octobre 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 45
Points : 7
Points : 7
@andry.aime

dans ce cas là, je n'ai pas de confirm et la barre de progression ne s'affiche pas,
en fait le form s'exécute tout simplement
athome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 15h29   #7
Invité régulier
 
Inscription : octobre 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 45
Points : 7
Points : 7
@SpaceFrog

tu veux que je passe le input en type="onsubmit" ?

je ne comprend pas trop
athome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 15h35   #8
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 688
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 688
Points : 5 761
Points : 5 761
Code html :
<form onsubmit="...">
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 15h52   #9
Invité régulier
 
Inscription : octobre 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 45
Points : 7
Points : 7
en utilisant un onsubmit

Code :
<form action="" name="form" method="post" onsubmit="return(confirm('Etes-vous sûr de vouloir modifier ce grade ?'));showWait('Modification en cours');">
j'ai bien un confirm et le form s'exécute, mais je n'ai pas la barre de progression
athome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 16h08   #10
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 030
Points : 45 128
Points : 45 128
submit => rechargement de page ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 16h15   #11
Invité régulier
 
Inscription : octobre 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 45
Points : 7
Points : 7
ok, j'avais bien vu le rechargement de page, mais elle était toute blanche

en tout cas merci de m'aider, mais là je bloque de nouveau

si vous avez d'autres indices
athome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 16h17   #12
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 030
Points : 45 128
Points : 45 128
ben ton form ne pointe sur rien ...
en plus name="form" c'est plsu que moyen ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 16h30   #13
Invité régulier
 
Inscription : octobre 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 45
Points : 7
Points : 7
quand je met le nom de la même page php dans action, car la requête et le formulaire sont sur la même page, j'obtiens ceci :

Code :
Warning: mysql_fetch_object():
athome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 16h32   #14
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 030
Points : 45 128
Points : 45 128
je vois pas ce que php et mysql viennent faire là dedans ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 16h40   #15
Invité régulier
 
Inscription : octobre 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 45
Points : 7
Points : 7
je ne vois pas non plus

j'avance un peu, car dans le cas ci-dessous, tout se passe bien en cas de confirmation positive, mais en cas de réponse négative au confirm cela exécute quand même le formulaire

Code :
 <input onclick="showWait()" type="submit" value="Modifier" name="modif"/>
Code :
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
<SCRIPT LANGUAGE="JavaScript"> 
    document.writeln("<div id=\"jsWaitMessage\" style=\"font-family: Verdana; font-size: 10px; text-align: center; padding: 3px; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; z-index:3\"></div>" ); 
    document.writeln("<div id=\"jsWaitArea\" style=\"display: none; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; border: 1px black solid; background: #fdd46c;z-index:2\">" ); 
    document.writeln("<div id=\"jsWaitBlock\" style=\"position: relative; left: 0px; height: 20px; width: 50px; background: #fcbb10;z-index:2\"></div>" ); 
    document.writeln("</div>" ); 
    jsWait_defaultInstance = null; 
 
	function showWait() 
    { 
		if (confirm('Etes-vous sûr de vouloir modifier ce grade ?')){
		  jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', "Modification en cours"); 
		  jsWait_defaultInstance.show(); 
		}
    } 
 
    function jsWait(name, message) 
    { 
      this.name = name; 
      this.message = message; 
      this.speed = 10; 
      this.direction = 2; 
      this.waiting = false; 
      this.divMessage = document.getElementById("jsWaitMessage" ); 
      this.divArea = document.getElementById("jsWaitArea" ); 
      this.divBlock = document.getElementById("jsWaitBlock" ); 
    } 
    jsWait.prototype.show = function() 
    { 
      this.divMessage.innerHTML = this.message; 
      this.divMessage.style.display = "block"; 
      this.divArea.style.display = "block"; 
      this.divBlock.style.display = "block"; 
      this.divBlock.style.left = "0px"; 
      this.waiting = true; 
 
      this.loop(); 
    } 
    jsWait.prototype.setMessage = function(message) 
    { 
      this.message = message; 
      this.divMessage.innerHTML = this.message; 
    } 
    jsWait.prototype.stop = function() 
    { 
      this.waiting = false; 
      this.divMessage.style.display = "none"; 
      this.divArea.style.display = "none"; 
      this.divBlock.style.display = "none"; 
    } 
    jsWait.prototype.loop = function() 
    { 
      myLeft = this.divBlock.style.left; 
      myLeft = myLeft.substring(0, myLeft.length-2); 
      intLeft = parseInt(myLeft); 
      if(intLeft >= 250) 
        this.direction = -2; 
      if(intLeft <= 0) 
        this.direction = 2; 
      myLeft = "" + (intLeft+this.direction) + "px"; 
      this.divBlock.style.left = myLeft; 
      if(this.waiting) 
        setTimeout(this.name + ".loop()", this.speed); 
    } 
 </script>
athome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 16h42   #16
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 030
Points : 45 128
Points : 45 128
oulà ton code me fait tellement peur ...
perso je renonce


Code :
1
2
<SCRIPT LANGUAGE="JavaScript"> 
 document.writeln("
quel concentré !!

Code :
type ="text/javascript"
quand au writelin ... je reste sans voix
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 16h51   #17
Invité régulier
 
Inscription : octobre 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 45
Points : 7
Points : 7
bah merci d'avoir essayé quand même, je me sentais proche du but là

j'avais juste à ne pas faire exécuter le formulaire en cas de réponse annuler au confirm et c'était bon
athome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 17h08   #18
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 030
Points : 45 128
Points : 45 128
Code :
 onsubmit=" return (confirm('Etes-vous sûr de vouloir modifier ce grade ?'))"
si la reponse est non on a un return false et pas de soumission de form
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 17h14   #19
Invité régulier
 
Inscription : octobre 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 45
Points : 7
Points : 7
ok mais ce cas là bizarrement, le false s'exécute quand même


Code :
1
2
3
4
5
6
7
function showWait() 
    { 
		if (confirm('Etes-vous sûr de vouloir modifier ?')){
		  jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', "Modification en cours"); 
		  jsWait_defaultInstance.show(); 
		}
    }
athome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 17h27   #20
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 030
Points : 45 128
Points : 45 128
Code :
onsubmit="return showWait();"
Code :
1
2
3
4
5
6
7
8
9
10
function showWait() 
    { 
 
if (confirm('Etes-vous sûr de vouloir modifier ?')	){
		  jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', "Modification en cours"); 
		  jsWait_defaultInstance.show(); 
return true
		}
return false
    }
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h12.


 
 
 
 
Partenaires

Hébergement Web