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

jQuery Discussion :

Passer du javascript au Jquery


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 120
    Points : 63
    Points
    63
    Par défaut Passer du javascript au Jquery
    Bonjour,

    J'ai un code javascript qui me permet de remplir une liste déroulante via une popup. Pour cela j'utilise du Javascript mais j'aimerais passer en Jquery.

    Voici le code de la page principale:
    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
     
        function doc(id_op)  {
    	     if (document.layers)  { // NS 4 et <
    		   return document[id_op];
    		 }
    		 if (document.all)  { // IE
    		   return document.all[id_op];
    		 }
    		 if (document.getElementById)  {
    		   return document.getElementById(id_op);
    		 }
     
    		}
     
    		function ajout(id_op, value, text)  {
    		    formulaire = doc(id_op);
    		   // Recuperation des informations
    		    nb = formulaire.length;
    		   // On compte le nombre d'<option />
    		    nouvel_element = new Option(text, value, false, true);
     
    		    formulaire.options[nb] = nouvel_element;
    		}
    et voici le code de la page popup
    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
    function doc(id_op)
        {
    	     if (document.layers)
    	     { // NS 4 et <
    		   return document[id_op];
    		 }
    		 if (document.all)
    		 { // IE
    		   return document.all[id_op];
    		 }
    		 if (document.getElementById)
    		 {
    		   return document.getElementById(id_op);
    		 }
     
    		}
     
     
        function valid()
        {
            value = doc('value').value;
            text = doc('id_n').value;
            opener.ajout('id_op', value, text);
        }
     
            <form id="formcache" class="form-signin" action="" method="post" onsubmit="valid();">
                <fieldset>
                <h2 class="form-signin-heading">Confirmation</h2>
                    <div>
                        <center>L'opération <strong>"{{ name }}"</strong> à bien été ajouté."!!</center>
     
                        <input type="hidden" name="value" id="value" value=""  />
                        <input type="hidden" class="form-control" id="id_n" maxlength="30" name="name" value=""/></p>
                        <br>
                    </div>
                    <button class="btn btn-lg btn-primary btn-block" type="submit" id="id_op" onclick="window.close();">Fermer la fenêtre</button>
                </fieldset>
            </form>
    Je code en Django d'ou l'apparition de certaine balise mais cela ne change rien pour le code.

    Du coup, j'ai -essayé- de transformer ce code:
    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
    function doc(id_operation)
        {
    	     if (document.layers)
    	     { // NS 4 et <
    		   return document[id_operation];
    		 }
    		 if (document.all)
    		 { // IE
    		   return document.all[id_operation];
    		 }
    		 if (document.getElementById)
    		 {
    		   return document.getElementById(id_operation);
    		 }
     
    		}
     
     
        function valid()
        {
            value = doc('value').value; //$('#value').text();
            text = doc('id_name').value;
            opener.ajouter('id_operation', value, text);
        }
    en ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	$("form").submit(function(event) {
    		$('#value').text();
    		$('#id_n').text();
        });
    Je ne suis pas trop sur de moi, et pour le code la page principale, je donne ma langue au chat !!

    Merci
    --
    Quand vous marquez "Résolu", pensez aux autres, dites Merci et marquez la solution

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    Pour cela j'utilise du Javascript mais j'aimerais passer en Jquery.
    c'est quand même une idée bizarre !!! jQuery n'est jamais que du javascript.

    Ta fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function doc(id_op) {
      if (document.layers) { // NS 4 et <
        return document[id_op];
      }
      if (document.all) { // IE
        return document.all[id_op];
      }
      if (document.getElementById) {
        return document.getElementById(id_op);
      }
    }
    est quand même un collector en 2015 mais tu es sur la bonne voie avec ton value = doc('value').value; //$('#value').text();.

    Prend quand même le temps de lire la FAQ jQuery et bien évidemment la documentation officielle qui regorge d'exemples.

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Un exemple basique de transaction AJAX en jQuery :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form id="formcache">
        <fieldset>
            <h2>Confirmation</h2>
            <div>
                <p>L'opération à bien été ajoutée !</p>
                <p>
                    <input id="value" name="value" value="57">
                    <input id="id_n" name="name" value="Pierre Dupond">
                </p>
            </div>
            <input type="submit" value="Fermer la fenêtre">
        </fieldset>
    </form>

    Code JavaScript : 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
    $( function(){ // forme abrégée de $(document).ready(function(
     
        $( "#formcache" ).submit( function(){
     
            // debug, console, touche F12
            console.log( $( this ).serialize() );
     
            // value=57&name=Pierre+Dupond
     
            var jqXHR = $.post( "monfichier.php", $( this ).serialize() );
     
            jqXHR.done( function( data, textStatus, jqXHR ){
                // succès de la transaction, on doit traiter le contenu de data
                console.log( data, textStatus, jqXHR );
     
            });
     
            jqXHR.fail( function( jqXHR, textStatus, errorThrown ){
                // échec de la transaction, gérer la catastrophe
                console.log( jqXHR, textStatus, errorThrown );
     
            });
     
            jqXHR.always( function( jqXHR, textStatus ){
                // la transaction est terminée
                // nettoyage
                // exécution d'un code dépendant
                console.log( jqXHR, textStatus );
     
            });
     
            return false;
        });
    });

    Ma FAQ jQuery

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 120
    Points : 63
    Points
    63
    Par défaut
    Bonjour à tous, j'ai un peu progressé:

    Voici le code pour la page principale:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function doc(id_op){
    	if $(''){
    		return id_op=$('#id_op');
    	}
    };
    function ajouter(id_op, value, text) {
    	formulaire = doc(id_op);
    	// Recuperation des informations
    	nb = formulaire.length;
    	// On compte le nombre d'<option />
    	nouvel_element = new Option(text, value, false, true);
    	formulaire.options[nb] = nouvel_element;
    }
    Pour ce code si je n'ai aucune idée pour la transposition

    et le code de la fenetre popup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function doc(id_operation){
    	if $(''){
    		return id_op=$('#id_op');
    	}
    });
    function valid() {
    	var value = $('#value').text();
        	var id_n = $('#id_n').text();
        	window.opener.$('id_op', value, id_n);
    };
    Je n'ai pas trouver l'équivalent de opener en jQuery pour faire passer un argument d'un fenetre enfant à une fenetre parents
    --
    Quand vous marquez "Résolu", pensez aux autres, dites Merci et marquez la solution

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 120
    Points : 63
    Points
    63
    Par défaut
    Pour function doc(id_operation) comprendre function doc(id_op)
    --
    Quand vous marquez "Résolu", pensez aux autres, dites Merci et marquez la solution

  6. #6
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par cobra85 Voir le message
    Je n'ai pas trouver l'équivalent de opener en jQuery pour faire passer un argument d'un fenetre enfant à une fenetre parents
    jQuery c'est du JS ! Ce n'est pas parce que jQuery est disponible que vous pouvez négliger le JS.

    D'autant que ES5 et le futur ES2015 (ex ES6) offrent des nouveautés particulièrement intéressantes.

    Pour "opener", c'est simplement une propriété de l'objet "window".

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    C'est quoi cette syntaxe ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 120
    Points : 63
    Points
    63
    Par défaut
    Salut,

    J'ai du vouloir transformer ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function doc(id_op) {
      if (document.getElementById) {<------|
        return document.getElementById(id_op);
      }
    --
    Quand vous marquez "Résolu", pensez aux autres, dites Merci et marquez la solution

  9. #9
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Dans ce cas autant te familiariser tout de suite avec la notation jQuery et d’utiliser les nombreuse méthodes mise à ta disposition par la librairie.

    Au risque de me répéter compulse la documentation, je t'aurais bien proposé un livre mais je crois savoir qu'on ne le trouve plus

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par NoSmoking
    je crois savoir qu'on ne le trouve plus
    Tu crois mal !
    Mais ça me rappelle que je n'ai pas pris le temps de finir la mise en forme (notamment la coloration syntaxique).
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    il ne me semble pas avoir vu d'annonce...et le lien dans ta signature serait donc à mettre à jour

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Non, parce que comme dit, la mise en forme n'est pas encore finalisée...
    Mais ma signature a été modifiée.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Dans ce cas autant te familiariser tout de suite avec la notation jQuery et d’utiliser les nombreuse méthodes mise à ta disposition par la librairie.

    Au risque de me répéter compulse la documentation, je t'aurais bien proposé un livre mais je crois savoir qu'on ne le trouve plus
    Ce livre est très bien aussi
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  14. #14
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Je veux bien te croire mais celui ci, je le connais, l'ais lu et il est très bien, facilement abordable et permet même de démystifier jQuery pour les plus réfractaires.

Discussions similaires

  1. Javascript et jQuery pas coopératif sous IE
    Par lagotonio dans le forum jQuery
    Réponses: 9
    Dernier message: 30/01/2012, 16h51
  2. Fonction JavaScript utilisant JQuery dans un html
    Par pikachu56 dans le forum jQuery
    Réponses: 1
    Dernier message: 12/05/2010, 11h14
  3. Passer de Mootools vers Jquery
    Par zouzou99 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 15/09/2009, 10h24
  4. Passer valeur javascript dans un formulaire
    Par clementh dans le forum Langage
    Réponses: 12
    Dernier message: 18/07/2008, 16h57
  5. Passer tableau à Javascript en Perl
    Par lavm01 dans le forum Web
    Réponses: 6
    Dernier message: 03/08/2007, 16h48

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