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 :

exécution d'une fonction JS


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut exécution d'une fonction JS
    Bonjour à toutes et à tous,

    J'ai cette fonction en javascript:

    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
     
     
    function val()
    {
    	validation = 1;
    	envoie_req(donnees_envoie());
    }
     
     
    function envoie_req(req)
    {
    	// création du XMLHttpRequest et envoie d'une requête.
    	if (window.XMLHttpRequest)
    	{
     
    		http_request = new XMLHttpRequest();
    		if (http_request.overrideMimeType){
     
    			http_request.overrideMimeType('text/xml');
    		}
    	}
    	else if (window.ActiveXObject)
    	{
    		try { http_request = new ActiveXObject("Msxml2.XMLHTTP") }
    		catch (e)
    		{
    			try { http_request = new ActiveXObject("Microsoft.XMLHTTP") }
    			catch (e) {}
    		}
    	}
    	if (!http_request) alert('Erreur : Impossible d'initialiser XMLHttpRequest.');
     
    	http_request.onreadystatechange = reception;
    	http_request.open('POST', 'edit_ajax.php', true);
    	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
     
    	http_request.send(req);
     
    }
    Cette fonction sera invoquée lorsque je clique sur un lien de redirection vers la page suivante.
    Le problème, c'est que lorsque je cliques sur mon lien, rien ne se passe (Normalement je dois être redirigé vers la page edit_ajax.php à ce que j'ai compris , parce que je ne suis pas moi qui a développé cette fonction) !

    C'est quoi, à votre avis, mon problème?
    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Indice: regarde la couleur syntaxique à partir de cette ligne:
    if (!http_request) alert('Erreur : Impossible d'initialiser XMLHttpRequest.');
    A+.

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    Normalement je dois être redirigé vers la page edit_ajax.php à ce que j'ai compris...
    pas exactement...il n'y a pas redirection mais demande de données pour modification de la page.
    http://dmouronval.developpez.com/tut...-requete-ajax/
    http://siddh.developpez.com/articles/ajax/

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    J'ai adopté le code que j'avais pour générer un autre de ce genre:

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <script src="edit_quest_script.js" type="text/javascript"></script>
    <style> 
    a{ 
    text-decoration:none; 
    } 
    </style> 
    </head>
     
    <body>
    <!--<form action="quiz.html" method="post">-->
     
    Enter your question:
    <input type="text" name="question" onchange="javascript:q_change();" /><br /><br />
    <div id="rep"></div>[<a href="javascript:aj_rep();">Add choice</a>]<br /><br />
    <a href="javascript:val();">Valider</a>
    <!--</form>-->
    </body>
    </html>
    et le fichier edit_quest_script.js

    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
    function aff_reponses()
    {
    	// affichage des réponses en fonction du contenu de la variable "reponses".
    	var rephtml = '';
    	for (i = 0; i < reponses.length; i++)
    	{
    		rephtml += '<input type="text" size="30" id="rep_'+i+'" value="'+reponses[i]+'" onchange="javascript:reponses['+i+']=this.value;" />';
    		rephtml += ' [<a href="javascript:suppr_rep('+i+')">Delete</a>]<br />';
    	}
    	document.getElementById('rep').innerHTML = rephtml;
    }
     
    function aj_rep()
    {
    	reponses[reponses.length] = '';
    	aff_reponses();
    }
     
    function val()
    {
    	validation = 1;
    	envoie_req(donnees_envoie());
    }
     
    function donnees_envoie()
    {
    	// prépare l'envoie des données d'une question vers la page php.
    	var d = 'qe='+q;
    	d += '&question='+encodeURIComponent(question);
    	d += '&image='+image;
    	d += '&explic='+encodeURIComponent(explic);
    	d += '&bonne_rep='+bonne_reponse;
    	d+= '&nbrep='+reponses.length;
    	for (i = 0; i < reponses.length; i++) d += '&rep'+i+'='+encodeURIComponent(reponses[i]);
    	return d;
    }
     
     
    function suppr_rep(rep)
    {
    	var reponses_new = new Array();
    	for (i = 0; i < rep; i++) reponses_new[i] = reponses[i];
    	for (i = rep + 1; i < reponses.length; i++) reponses_new[i - 1] = reponses[i];
    	if (bonne_reponse >= rep && bonne_reponse > 0) bonne_reponse --;
    	reponses = reponses_new;
    	aff_reponses();
    }
     
     
    function envoie_req(req)
    {
    	// création du XMLHttpRequest et envoie d'une requête.
    	if (window.XMLHttpRequest)
    	{
    		http_request = new XMLHttpRequest();
    		if (http_request.overrideMimeType) http_request.overrideMimeType('text/xml');
    	}
    	else if (window.ActiveXObject)
    	{
    		try { http_request = new ActiveXObject("Msxml2.XMLHTTP") }
    		catch (e)
    		{
    			try { http_request = new ActiveXObject("Microsoft.XMLHTTP") }
    			catch (e) {}
    		}
    	}
    	if (!http_request) alert('Erreur : Impossible d'initialiser XMLHttpRequest.');
     
    	http_request.onreadystatechange = reception;
    	http_request.open('POST', 'edit_ajax.php', true);
    	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
     
    	http_request.send(req);
    }
    Je voudrais maintenant avoir mon quizz généré quand je cliques sur "Valider", avez vous des suggestions pour pouvoir le faire?

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Relis mon précédent post pour continuer à jouer.

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    Bizarre, parce que le code dont j'ai pris a été écrit comme ça !

    et Il fonctionne à merveille, je ne vois pas pourquoi je dois faire les changements dont vous m'avez conseillé!

Discussions similaires

  1. Réponses: 10
    Dernier message: 28/04/2006, 16h36
  2. Stopper l'exécution d'une fonction au bout d'un certain temp
    Par Eagle959 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/03/2006, 18h16
  3. Réponses: 3
    Dernier message: 11/03/2006, 15h35
  4. Pause dans l'exécution d'une fonction
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/06/2005, 07h48
  5. Exécution d'une fonction...
    Par mickeliette dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/11/2004, 16h59

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