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 :

[AJAX] Ajax fonctionne sur onblur mais pas sur onkeypress


Sujet :

JavaScript

  1. #1
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut [AJAX] Ajax fonctionne sur onblur mais pas sur onkeypress
    salut,
    J'ai fait une petite application pour éditer du texte sur une page web.
    ça consiste à double cliquer sur du texte qui est alors remplacé par un champ.
    Quand l'utilisateur clique (onblur) à coté du champ ou appuie sur "entrée" (onkeypress) j'appelle une fonction ajax pour changer le texte dans une bdd.

    ça fonctionne très bien quand l'utilisateur appuie à coté. Mais si on appuie sur la touche "entrée" la page est rechargée.

    voici comment est appelé ma fonction ajax :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" value="test" onblur="changeName(10,this.value);" onkeypress="if(event.keyCode==13) changeName(10,this.value);">
    et voici ma fonction ajax (manque t-il un return false; ?) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function changeName(id,newContent){
    	var div = document.getElementById(id);
    	var xhr = httpRequest();
    	xhr.onreadystatechange = function(){
    		if(xhr.readyState == 4 && xhr.status == 200){
    			result = xhr.responseText;			
    			div.innerHTML = result;
    		}
    	}
    xhr.open('GET','functions/getUpdateMenu.php?type=update&id=' + id + '&content=' + newContent,true);
    	xhr.send(null);	
    }
    Merci d'avance pour votre éclairage

  2. #2
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    Je reconnais que j'ai peut être pas été très clair
    Pour résumer pourquoi ma page se recharge quand j'appuie sur "entrée" alors que c'est la même fonction qui est appelée ?
    Y'a peut être une histoire avec le formulaire !

  3. #3
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    bon si y'a une histoire avec le formulaire,
    il suffisait de mettre un onsubmit="return false;" dans la balise <form> !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajax fonctionne en local mais pas sur le serveur
    Par CinePhil dans le forum AJAX
    Réponses: 2
    Dernier message: 15/11/2017, 13h55
  2. Réponses: 8
    Dernier message: 30/08/2011, 16h17
  3. [MooTools] AJAX fonctionne en local mais pas sur serveur
    Par LionL dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 07/12/2007, 22h52
  4. AJAX : Fonctionne en local mais pas sur serveur distant ?
    Par jejefeds dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 19/06/2007, 14h26
  5. Réponses: 1
    Dernier message: 28/03/2007, 19h20

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