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 :

Jquery dans Javascript


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 6
    Par défaut Jquery dans Javascript
    Bonjour, lorsque j'insére du jquery dans du javascript mon code ne fonctionne plus. Savez vous de quoi cela peut il venir?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script type="text/javascript">
    document.getElementById('contenu').innerHTML += '<a href="#" onclick="$('#+compteur+').slideDown('fast')">Montrer</a> – <div class="item'+compteur+'"><textarea name="data[Fichier][content]['+compteur+']" id="'+compteur+'" cols="30" rows="10" style="width: 488px;"></textarea></div>';	
    </script>

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 140
    Par défaut
    Bonjour airsoft2869,

    je pense que tu utilises très mal jQuery pour le moment.
    L'idée de ce framework c'est de découpler complètement le HTML et le javascript. Donc générer du jQuery en java script normal est absolument le pire que tu puisses faire .
    Une autre idée importante aussi est de travailler sur des éléments HTML existants (ici tu veux insérer des nœuds dans des éléments existants), il faut que ces éléments existent (soient chargés) au moment ou ton script s'exécute.
    Pour cela, jQuery propose une fonction qui exécute du code une fois que toute la page est chargée, c'est comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $(document).ready(
      function(){
        //ici du code qui s execute au bon moment
      }
    );
    voici ta ligne de code en jQuery à mettre dans le document ready au dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var montruc = '<a href="#">Montrer</a> – <div class="item'+compteur+'"><textarea name="data[Fichier][content]['+compteur+']" id="'+compteur+'" cols="30" rows="10" style="width: 488px;"></textarea></div>';
    $('#contenu').html( montruc);
    ensuite tu peux attacher les évènements à tes élements récement créés (il faut que le code qui attache un évènement soit exécuté sur des eléments exitant déjà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $('#contenu a').click(
      function(){
        $(this).slideDown('fast');
      }
    );
    voilà, le code est découplé et on a d'un coté le HTML et de l'autre le JavaScript.

    Remarque, le même principe de découplage est vivement conseillé entre le HTML et le CSS , ce qui revient à écrire une feuille de style séparée

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 6
    Par défaut
    Merci beaucoup pour cette réponse détaillé. J'ai essayé ta solution mais quand je clique sur le bouton le textarea s'affiche bien mais le bouton monter ne marche pas. Je dois surement faire un truc mal. Désolé je suis vraiment novice en jquery
    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
    <script>
    						var compteur = <?php echo $v; ?>;
    						function incrementer()
    						{
    							compteur=compteur+1;
     
    							$(document).ready(
    							  function(){
    							  	var montruc = document.getElementById('contenu').innerHTML += '<div id="textarea-'+compteur+'" ><a href="#">Montrer</a> – <div class="item'+compteur+'"><textarea name="data[Fichier][content]['+compteur+']" id="'+compteur+'" cols="30" rows="10" style="width: 488px;"></textarea></div></div>';
    									$('#contenu').html(montruc);
    									$('#contenu div').click(
    									  function(){
    									    $(this).slideUp('fast');
    									  }
    									);
    								  }
    							);
     
    						}
     
     
    						function fermer()
    						{
    								document.body.removeChild(document.getElementById("contenu"));					
    						}
     
     
    							$(function() {
    							$('#onglets').css('display', '');
    							$('#onglets').click(function(event) {
    								var actuel = event.target;
    								if (!/li/i.test(actuel.nodeName) || actuel.className.indexOf('actif') > -1) {
    									alert(actuel.nodeName)
    									return;
    								}
    								$(actuel).addClass('actif').siblings().removeClass('actif');
    								setDisplay();
    							});
    							function setDisplay() {
    								var modeAffichage;
    								$('#onglets li').each(function(rang) {
    									modeAffichage = $(this).hasClass('actif') ? '' : 'none';
    									$('.item').eq(rang).css('display', modeAffichage);
    								});
    							}
    								setDisplay();
    								});
    							</script>
     
     
     
    				<?php   } else { ?>
     
    					<script>

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 140
    Par défaut
    hum,
    je pensais plus a quelque chose comme ca :

    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
     
    $(document).ready(
      function(){
        //le contenu va etre modifié apres que la page soit chargée
        var montruc = '<a href="#">Montrer</a> – <div class="item'+compteur+'"><textarea name="data[Fichier][content]['+compteur+']" id="'+compteur+'" cols="30" rows="10" style="width: 488px;"></textarea></div>';
    $('#contenu').html( montruc);
    $('#contenu a').click(//les liens du contenu cliqués déclencheront cette fonction
      function(){
        $(this).slideDown('fast');
      }
    );
    //les autres ecouteurs jquery ici
     
      }
    );
     
    //les autres fonctions ici
    //il est possible de mettre une fonction qui modifie ton contenu ici
    le document.getElementById se fais en jQuery avec $('#monId')

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 6
    Par défaut
    j'ai avancé le bouton cacher monter marche, mais lorsque j'en créé plusieurs, il n'y a que le dernier qui marche
    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
     
    							$(document).ready(
    							  function(){
    							  	var montruc = document.getElementById('contenu').innerHTML += 
    							  		'<span class="a-'+compteur+'"><a href="#" id="'+compteur+'">Montrer</a></span> - <span class="b-'+compteur+'"><a href="#" id="'+compteur+'">Cacher</a></span> -  <div id="item'+compteur+'"><div id="textarea-'+compteur+'" ><textarea name="data[Fichier][content]['+compteur+']" id="'+compteur+'" cols="30" rows="10" style="width: 488px;"></textarea></div></div>';
    									$('#contenu').html(montruc);
    									 $('#contenu .b-'+compteur+'').click(
    									   function(){
    									    $('#contenu #textarea-'+compteur+'').slideUp('fast');
    									   }
    										);
     
    									$('#contenu .a-'+compteur+'').click(
    									  function(){
    									    $('#contenu #textarea-'+compteur+'').slideDown('fast');
    									  }
    									);
    								  }
    							);
     
    						}

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#contenu .b-'+compteur+'')
    heu ça sert à quoi de faire +'' ?????
    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. Fonction JavaScript utilisant JQuery dans un html
    Par pikachu56 dans le forum jQuery
    Réponses: 1
    Dernier message: 12/05/2010, 11h14
  2. Réponses: 2
    Dernier message: 05/11/2009, 17h38
  3. Insérer du javascript/jquery dans un menu
    Par Little_flower dans le forum jQuery
    Réponses: 7
    Dernier message: 07/05/2008, 16h33
  4. asp dans javascript
    Par roninou dans le forum ASP
    Réponses: 4
    Dernier message: 26/05/2004, 15h00
  5. liste déroulante asp dans javascript
    Par croco83 dans le forum ASP
    Réponses: 6
    Dernier message: 12/05/2004, 17h50

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