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] Soumettre formulaire sur OnBlur


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut [AJAX] Soumettre formulaire sur OnBlur
    Je suis parvenu à faire en sorte de ne pas recharger un formulaire lorsqu'il est soumis par une validation sur la touche entrée.

    Maintenant je voudrais pouvoir faire la même chose quand l'utilisateur change de champ avec TAB ou click ailleurs (ils sont exigeant ces utilisateurs ). Voici un résumé du code actuel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script language="JavaScript">
     function my_Ajax(obj){
       ... // Gestion XMLHttpRequest
    }
    </script>
     
    <form onSubmit="return  my_Ajax(this);" name=f1 method="">
      <input classname=input type=text name=t1>
    </form>
    Voici ce que j'ai essayé qui ne marche pas. Le submit ne lance pas ma functon my_Ajax().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input classname=input type=text size=60 name=t1 ONBLUR="submit();">

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onblur="this.form.submit();"
    A+

  3. #3
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    J'ai essayé, le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onblur="this.form.submit();"
    mais le formulaire est soumis au serveur, alors que je voudrais que son traitement soit confié à la fonction my_Ajax(obj).

    Ce que je ne comprends, c'est pourquoi dans le cas ou l'on valide avec la touche entrée le formulaire, il passe par la fonction définit en entête de <form>, alors que sur l'appel par "onblur", il suit une processus normal de transmission au serveur?
    Ceci est il due au fait qu'il faut lui préciser encore une fois de lancer la fonction my_Ajax(obj) au moment du submit()? dans ce cas je ne sais pas faire.

    Merci d'avance

    Riete

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par riete Voir le message
    Ceci est il due au fait qu'il faut lui préciser encore une fois de lancer la fonction my_Ajax(obj) au moment du submit()? dans ce cas je ne sais pas faire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onblur="if (my_Ajax(this.form)) this.form.submit();"
    A+

  5. #5
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    merci E.bzz

    je vais essayer, mais entre temps, je ne me suis pas endormi, j'ai trouvé ceci Sur ce lien, il semble que cela veuille fonctionner.
    Un des problèmes avec la solution Oreilly c'est qu'il est difficile de traiter plusieurs formulaires au moment du chargement de la page, alors qu'avec "ma" technique il n'y a pas de procédure ONLOAD de traitement.

    Le choix est cornélien car la technique Oreilly me semble assez Smart

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par riete Voir le message
    Le choix est cornélien car la technique Oreilly me semble assez Smart
    Un conseil : si ta solution fonctionne, garde la

    D'une part car ce sera plus facile pour toi de maintenir ton code plutôt que celui "d'un autre".

    Et d'autre part, je ferais moyennement confiance a un site qui :
    * crée des url contenant des caractères accentué (=> erreur http)
    * propose des solutions Ajax alors qu'à l'affichage de cette page j'ai, sous IE et Firefox le message d'erreur "Ajax est indéfini"

    Oublie le

    A+

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 26/10/2012, 19h21
  2. Réponses: 9
    Dernier message: 03/02/2009, 23h46
  3. Réponses: 7
    Dernier message: 20/01/2009, 14h54
  4. [AJAX] [PHP-JS] Evénement ONBLUR sur champ texte
    Par Sytchev3 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/09/2007, 15h31
  5. [AJAX] Ajax fonctionne sur onblur mais pas sur onkeypress
    Par julien.63 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/01/2007, 15h14

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