IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Forcer l'arrêt d'un script ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 327
    Par défaut Forcer l'arrêt d'un script ?
    Bonjour à tous,

    j'aurai besoin de stopper définitivement l'arrêt d'un script après un "alert".

    Comment faire ?

    Je sais que ce n'est pas très propre, mais ça me simplifierai grandement le boulot, car pour le moment, mes message d'erreurs se succèdent.
    Je ne suis pas un pro de la prog, soyez indulgents

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  3. #3
    Membre éprouvé Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 327
    Par défaut
    Merci, mais ça ne fonctionne pas.
    Je pense que je n'ai pas été assez précis.

    Voici les informations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <SPAN class="Effet3D3">Date : </SPAN><INPUT class="InputDATE Effet3D3" title="Sortir de la zone de saisie pour charger le fichier correspondant à la date, s'il existe (Appuyer sur la touche 'TAB' ou cliquer dans une autre zone de saisie)." type="text" id="DateID" REL="" onBlur="ControleDate();"/>
    <SPAN class="mtt" title="$(selecteur).MyCalendrierPicker({icon:true});"></SPAN><BR/><BR/>
    Le ControleDate qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    function ControleDate() {
    	WControleDate = true;
    	// Controle de la date
    	WDateID = window.Form_PotAG.DateID.value;
    	WDateJour00 = new Date();
    	WDateJour01 = new Date(WDateJour00.getFullYear(), WDateJour00.getMonth(), WDateJour00.getDate());
    	WDateSaisie = new Date(WDateID.substr(6,4), WDateID.substr(3,2)-1, WDateID.substr(0,2));
     
    	if (window.Form_PotAG.DateID.value != "")
    	{
    		if (WDateSaisie > WDateJour01)
    		{
    			WControleDate = false;
    			alert("La date sélectionnée ne peut pas être supérieure à la date du jour !");
    			window.Form_PotAG.DateID.value = "";
    			window.Form_PotAG.DateID.className = "InputINVALIDE InputDATE Effet3D3";
    			window.Form_PotAG.DateID.focus();
    		}
    		else
    		{
    			window.Form_PotAG.DateID.className = "InputDATE Effet3D3";
    	// Si la date est valide 
    	// => Afficher le mois dans la cellule Cell_Mois
    	// => Rechercher le fichier mensuel correspondant au mois et chargement des valeurs
    	// => Rechercher le fichier quotidien correspondant existe et chargement des valeurs
    			Chargement_Donnees_Mensuelles();
    			Chargement_Donnees_Quotidiennes();
    		};
    	}
    	else
    	{
    		WControleDate = false;
    		alert("La date est obligatoire.");
    		var WDateSys = DateSysteme();
    		window.Form_PotAG.DateID.value = WDateSys;
     
    		window.Form_PotAG.DateID.className = "InputINVALIDE InputDATE Effet3D3";
    		window.Form_PotAG.DateID.focus();
    	};
    	return WControleDate;
    }
    Le ControleDate qui ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    function ControleDate() {
    	WControleDate = true;
    	// Controle de la date
    	WDateID = window.Form_PotAG.DateID.value;
    	WDateJour00 = new Date();
    	WDateJour01 = new Date(WDateJour00.getFullYear(), WDateJour00.getMonth(), WDateJour00.getDate());
    	WDateSaisie = new Date(WDateID.substr(6,4), WDateID.substr(3,2)-1, WDateID.substr(0,2));
    
    	if (window.Form_PotAG.DateID.value != "")
    	{
    		if (WDateSaisie > WDateJour01)
    		{
    			WControleDate = false;
    			alert("La date sélectionnée ne peut pas être supérieure à la date du jour !");
    			window.Form_PotAG.DateID.value = "";
    			window.Form_PotAG.DateID.className = "InputINVALIDE InputDATE Effet3D3";
    			window.Form_PotAG.DateID.focus();
    		}
    		else
    		{
    			window.Form_PotAG.DateID.className = "InputDATE Effet3D3";
    	// Si la date est valide 
    	// => Afficher le mois dans la cellule Cell_Mois
    	// => Rechercher le fichier mensuel correspondant au mois et chargement des valeurs
    	// => Rechercher le fichier quotidien correspondant existe et chargement des valeurs
    			Chargement_Donnees_Mensuelles();
    			var WVerif = VerifDataQUOT();
    			if (WVerif == true)
    			{
    				Chargement_Donnees_Quotidiennes();
    			}
    			else
    			{
    				alert(WVerif);
    				return false;
    			};
    		};
    	}
    	else
    	{
    		WControleDate = false;
    		alert("La date est obligatoire.");
    		var WDateSys = DateSysteme();
    		window.Form_PotAG.DateID.value = WDateSys;
    
    		window.Form_PotAG.DateID.className = "InputINVALIDE InputDATE Effet3D3";
    		window.Form_PotAG.DateID.focus();
    	};
    	return WControleDate;
    }
    La fonction de vérification :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     
    function VerifDataQUOT() {
    	var WActx_FSO = new ActiveXObject('Scripting.FileSystemObject');
    	WRep = WActx_FSO.GetParentFolderName(self.location.pathname).substr(1);
    	//WRep=./PotAG/
    	WRepSPLIT = WRep.split("/");
    	WNbSPLIT = WRepSPLIT.length - 1;
    	WRepAEROD = "";
    	WRepDONNEES = "";
    	WRepRQTBonnes = "";
    	WRepRQTPasBonnes = "";
    	i = 0;
    	while (i <= WNbSPLIT)
    	{
    		WRepAEROD = WRepAEROD + WRepSPLIT[i] + "/";
    		i = i + 1;
    	};
    	//WRepDONNEES=./PotAG/DONNEES/
    	WRepDONNEES = WRepAEROD + "DONNEES/";
    	//WRepEntrepot=./PotAG/DONNEES/entrepot_fichiers_in_ope/
    	WRepEntrepot = WRepDONNEES + "entrepot_fichiers_in_ope/";
    	//WRepRQTBonnes=./PotAG/DONNEES/entrepot_fichiers_in_ope/requetes_bonnes/
    	WRepRQTBonnes = WRepEntrepot + "requetes_bonnes/";
    	//WRepRQTPasBonnes=./PotAG/DONNEES/entrepot_fichiers_in_ope/requetes_pas_bonnes/
    	WRepRQTPasBonnes = WRepEntrepot + "requetes_pas_bonnes/";
    	//WRepAEROD=./PotAG/DONNEES/LFPN/
    	WRepAEROD = WRepDONNEES + G_TERRAIN;
     
    	G_RepAEROD = WRepAEROD; // Indispensable pour passer l'information au traitement du calendrier pour tester l'existante du fichier
     
    	WDateID = window.Form_PotAG.DateID.value;
    	WDateID_AAAA = WDateID.substr(6,4);
    	WDateID_MM = WDateID.substr(3,2);
    	WDateID_JJ = WDateID.substr(0,2);
    	WDateTXT = WDateID_AAAA + "_" + WDateID_MM + "_" + WDateID_JJ;
    	WNomFichierTXT = WDateTXT + "_" + G_TERRAIN + "_potag.txt";
     
    	WVerifFichier = WRepAEROD + "/" + WNomFichierTXT;
    	if (WActx_FSO.FileExists(WVerifFichier))
    	{
    		WVerifData = true;
    		WVerifEMAIL = false;
    		WVerifAUTOINFO = false;
    		WFic_QUOT = WActx_FSO.OpenTextFile(WVerifFichier, 1);
    		while (!WFic_QUOT.AtEndOfStream)
    		{
    			var WLigneTXT = WFic_QUOT.ReadLine();
    			WLigSplit = WLigneTXT.split(";");
     
    			WNom_Champs = WLigSplit[0];
    			WLib_Champs = WLigSplit[1];
    			WVal_Champs = WLigSplit[2];
     
    			if (WNom_Champs.toUpperCase() == "CB_AUTOINFO")
    			{
    				WVerifAUTOINFO = true;
    			};
    			if (WNom_Champs.toUpperCase() == "C_EMAIL")
    			{
    				WEmail = window.Form_PotAG.C_Email.value;
    				if (WVal_Champs == "")
    				{
    					if (WEmail != "")
    					{
    						G_EMAIL = WEmail;
    						WVerifEMAIL = true;
    					};
    				}
    				else
    				{
    					WVerifEMAIL = true;
    				};
    			};
    		};
    		WFic_QUOT.close();
    		if (WVerifAUTOINFO == false)
    		{
    			WVerifData = "Fichier : " + WVerifFichier + " -> il manque la ligne AUTOINFO";
    			alert(WVerifData);
    //			return false;
    		};
    		if (WVerifEMAIL == false)
    		{
    			WVerifData = "Fichier : " + WVerifFichier + "-> il manque la ligne EMAIL";
    			alert(WVerifData);
    //			return false;
    		};
    		G_VERIF_QUOT = WVerifData;
    	};
    	return WVerifData;
    }
    Le but du jeu est donc que toute l'application s'arrête totalement.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    sauf a tester au niveau de chaque fonction si le retour est false ...
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  5. #5
    Membre chevronné
    Profil pro
    à la bougie alors
    Inscrit en
    Mai 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : à la bougie alors

    Informations forums :
    Inscription : Mai 2006
    Messages : 224
    Par défaut
    Il y a throw aussi ..? Mais que veut dire pour toi arrêter l'application ? Sauf erreur pour l'instant je vois une saisie dans un formulaire. Dans un cas tu bloques sur le contrôle avec date invalide (Date obligatoire ou Date supérieur à la date du jour), dans l'autre pour l'instant tu ne fais qu'un alert (et un return false). Tu pourrais aussi bloquer sur le controle dans ce cas par exemple ? Si la situation peut-être résolue par l'opérateur. Ou recharger ta page ou une autre page ou n'importe quoi, tout dépend de ce que veut dire, pour toi, arrêter l'application. Il est, par exemple, possible de mettre en 'disabled' tous les controles du formulaire de saisie, si ton appli est pilotée comme ça.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    throw ou test de retour, il faudra à chaque debut de fonction tester poru savoir si l'on doit continuer le script ou non ...
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

Discussions similaires

  1. Empêcher l'arrêt d'un script suite à une erreur
    Par ProgVal dans le forum Langage
    Réponses: 12
    Dernier message: 02/11/2009, 15h30
  2. Forcer l'arrêt du système
    Par vg-matrix dans le forum Windows 7
    Réponses: 2
    Dernier message: 23/08/2009, 14h55
  3. Réponses: 3
    Dernier message: 27/09/2008, 11h46
  4. [MOSS] Forcer l'arrêt/redémarrage du service de recherche ?
    Par Leparachute dans le forum SharePoint
    Réponses: 3
    Dernier message: 26/07/2007, 16h16
  5. Arrêt aléaoitoire de scripts perl
    Par nicolas1980 dans le forum Langage
    Réponses: 3
    Dernier message: 14/04/2007, 08h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo