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 :

POST de contenu HTML filtré


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 44
    Par défaut POST de contenu HTML filtré
    Bonjour,

    Je ne sais pas si je dois ouvrir cette discussion côté AJAX ou plutôt jQuery/JavaScript (quel forum ?), et je débute dans ces 2 technologies...

    J'ai la fonction suivante, qui me permet d'envoyer du contenu HTML :

    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
    <SCRIPT>
    jQuery().ready(function(){
    	jQuery('#creerDossierSpec').click(function() {
     
    		[variables...]
    		var ajaxUrl="livelink.exe";
     
    		var postData = new Object();
    		postData.func = "ll";
    		postData.objId = "3885111";
    		postData.objAction = "RunReport";
    		postData.nextUrl = "";
    		[autres paramètres...]
    		postData.mainSpec = jQuery('#spec').html();
     
    		jQuery.ajax ({
    			type: 'POST'
    			, url: ajaxUrl
    			, data: postData
    			, success: alert("Le dossier a \351t\351 cr\351\351. Les documents seront finalis\351s d'ici quelques minutes.")
    		});
     
    		return false;
    	});
     
    })
    </SCRIPT>
    J'envoie donc le contenu d'un <DIV ID="spec">, et je souhaiterais savoir si je pouvais exclure certains éléments (ex : les <SCRIPT>, ou éventuellement certaines CLASS="...") ?

    Merci d'avance pour votre aide (je peux supprimer la conversation et la recréer ailleurs si nécessaire).

  2. #2
    Membre émérite Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Par défaut
    Je ne peux pas t'aider à trouver une solution, car je n'ai pas tout compris...
    Mais par contre, je peux te signaler quelques petites choses pour améliorer ton code...

    On ouvre la balise script comme ceci :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript">

    On ne mets pas ou plus jQuery mais $

    La version raccourci pour le document ready est:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    $(function()) { }

    Ceci :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    jQuery.ajax ({
    			type: 'POST'
    			, url: ajaxUrl
    			, data: postData
    			, success: alert("Le dossier a \351t\351 cr\351\351. Les documents seront finalis\351s d'ici quelques minutes.")
    		});

    Doit être écrit comme ceci:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $.ajax ({
    			type: 'POST',
    			url: ajaxUrl,
    			data: postData,
    			success: alert("Le dossier a \351t\351 cr\351\351. Les documents seront finalis\351s d'ici quelques minutes.")
    		});

    Ne mets jamais tes virgules en début de ligne suivante, mais à la fin de la ligne même, ou alors, tu risques de te perdre tôt ou tard

    Désolé de ne pouvoir t'aider plus....

  3. #3
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    Jquery possède des selecteurs très puissants


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    postData.mainSpec = jQuery('#spec').not('script, .class').html();
    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 !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 44
    Par défaut
    Bonjour,

    Merci pour cette réponse.
    Je cherchais effectivement à faire tout cela en une seule ligne, pour finalement me rendre compte que je pouvais facilement faire cela en plusieurs étapes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $('#spec script').remove();
    $('#spec textarea').remove();	
    $('#spec .noprint').remove();
    postData.mainSpec = $('#spec').html();
    La fonction .not() revient-elle à faire un .remove() ?
    Je verrai sur le long terme si .remove() doit être remplacé par .empty() (performances ?), mais pour l'instant j'ai le résultat voulu dans des conditions tout à fait acceptables.
    Quelle que soit la façon, mon problème est résolu. Merci à vous pour vos conseils et votre aide !

  5. #5
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 098
    Par défaut
    Hello !

    La différence entre not et remove, c'est que not est un simple filtre, alors que remove a un effet « réel ». Par exemple, avec le code $("p").not(".truc"), j'obtiens l'ensemble des <p>, sauf ceux qui ont la classe "truc". Mais le code HTML n'a pas été modifié.
    Alors que si je fais $("p").remove(".truc"), ça aura pour effet de supprimer tous les <p> qui ont la classe "truc". Et comme toutes les méthodes jQuery renvoient un résultat (pour pouvoir chaîner les appels), tu récupères la liste des <p>, après suppression des "truc".

    http://api.jquery.com/not/
    http://api.jquery.com/remove/

    Quant à empty, il ne s'utilise pas tout à fait de la même façon. Mais je fais confiance à jQuery en ce qui concerne la performance ; en général, il est capable de choisir la façon la plus efficace de procéder, tu n'as pas trop à te soucier de ça

    http://api.jquery.com/empty/
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

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

Discussions similaires

  1. Appel d'un contenu HTML dans flash
    Par smh_master dans le forum Flash
    Réponses: 9
    Dernier message: 01/12/2006, 16h14
  2. [XSLT] Afficher du contenu HTML dans une feuille XSL
    Par krapno dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 24/10/2006, 14h07
  3. [FLASH MX] Scrollbar et contenu Html externe
    Par efrenik dans le forum Flash
    Réponses: 9
    Dernier message: 21/08/2006, 16h39
  4. Moteur de recherche parcourant le contenu html
    Par BernardT dans le forum ASP
    Réponses: 3
    Dernier message: 10/07/2006, 09h26
  5. Contenu HTML + feuille CSS
    Par Invité dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 12/04/2006, 08h43

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