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 :

execCommand(formatBlock, etc.


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Points : 254
    Points
    254
    Par défaut execCommand(formatBlock, etc.
    Bonjour,

    J'ai trouvé trois sujets qui traitent de la fonction execCommand mais aucune qui traite d'un cas semblable au mien. Quelqu'un peut m'éclairer?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    execCommand(formatBlock, false, <p>)                    //Ça fonctionne
    execCommand(formatBlock, false, <p class='normal'>)     //Ne fonctionne pas
    execCommand(formatBlock, false, <p class=\'normal\'>)   //Ne fonctionne pas
    execCommand(formatBlock, false, <p class=normal>)       //Ne fonctionne pas
    execCommand(formatBlock, false, <p\ class=\'normal\'>)  //Ne fonctionne pas
    execCommand(formatBlock, false, <p\ class\=\'normal\'>) //Ne fonctionne pas

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    pas testé mais essaye de passer par une variable :
    var formatdubloc = '<p class="normal">';
    document.execCommand('FormatBlock', true, formatdubloc);

    ou

    document.execCommand('FormatBlock', true, '<p class="normal">');

    . . .

  3. #3
    Membre actif Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Points : 254
    Points
    254
    Par défaut
    En fait ma chaîne est déjà passé par une variable extraite d'une liste de choix, ce qui élimine aussi la possibilité d'utiliser la syntaxe avec guillemets. Si je ne modifie aucun code et le laisse tel qu'il est ...

    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
     
    [...]
      document.writeln('			<select id="formatblock_' + rte + '" onchange="selectFont(\'' + rte + '\', this.id);">');
      document.writeln('				<option value="">[Style]</option>');
      document.writeln('				<option value="<p class=\'titre\'>">Titre</option>');
      document.writeln('				<option value="<h1>">Heading 1 &lt;h1&gt;</option>');
      document.writeln('				<option value="<h2>">Heading 2 &lt;h2&gt;</option>');
      document.writeln('				<option value="<h3>">Heading 3 &lt;h3&gt;</option>');
      document.writeln('				<option value="<h4>">Heading 4 &lt;h4&gt;</option>');
      document.writeln('				<option value="<h5>">Heading 5 &lt;h5&gt;</option>');
      document.writeln('				<option value="<h6>">Heading 6 &lt;h6&gt;</option>');
      document.writeln('				<option value="<address>">Address &lt;ADDR&gt;</option>');
      document.writeln('				<option value="<pre>">Formatted &lt;pre&gt;</option>');
      document.writeln('			</select>');
     
    [...]
     
    function selectFont(rte, selectname) {
    	//function to handle font changes
    	var idx = document.getElementById(selectname).selectedIndex;
    	// First one is always a label
    	if (idx != 0) {
    		var selected = document.getElementById(selectname).options[idx].value;
    		var cmd = selectname.replace('_' + rte, '');
    		alert('rteCommand('+rte+', '+cmd+', '+selected+', '+selectname+')');
    		rteCommand(rte, cmd, selected);
    		document.getElementById(selectname).selectedIndex = 0;
    	}
    }
     
    [...]
     
    function rteCommand(rte, command, option) {
    	//function to perform command
    	var oRTE;
    	if (document.all) {
    		oRTE = frames[rte];
    	} else {
    		oRTE = document.getElementById(rte).contentWindow;
    	}
     
    	try {
    		oRTE.focus();
    		alert('execCommand('+command+', '+option+')');
    	  	oRTE.document.execCommand(command, false, option);
    		oRTE.focus();
    	} catch (e) {
    //		alert(e);
    //		setTimeout("rteCommand('" + rte + "', '" + command + "', '" + option + "');", 10);
    	}
    }
    Le fait est que je ne peut inverser l'utilisation des guillemets et des apostrophes dans la génération de ma liste de choix sans causer de problèmes à l'affichage. Je compte donc trouver un moyen en utilisant des apostrophes.

    J'ajoute que le problème vient probablement plus de l'espace à l'intérieur de ma balise que de ma ponctuation car ça ne fonctionne pas nom plus avec une pseudo balise ex: <p c> .

  4. #4
    Membre actif Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Points : 254
    Points
    254
    Par défaut
    Une autre avenue pour corriger mon problème serait de remplacer mon RTE RichText Editor par un autre éditeur WYSIWYG OpenSource qui prend en charge CSS. Vous en avez à proposer?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 93
    Points
    93
    Par défaut
    tinyMCE en 100% Js
    simple,efficace et valide html comme xhtml...
    je l'utilise depuis pas mal de temps. C'est un bon Wysiwyg et en plus il est free
    seul hic, si cela devai en être un, leur forum est uniquement en anglais

    apres tu à celui de Developpez, mais je suis pô sur qu'il soit mise à disposition de ces membres

  6. #6
    Membre actif Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Points : 254
    Points
    254
    Par défaut
    J'ai effectivement téléchargé TinyMCE qui offre amplement plus de fonctionnalités. Le seul problème constaté est qu'il a une largeur minimum qui ne cadre pas dans ma page mais c'est un détail mineur.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 93
    Points
    93
    Par défaut
    tu peut bien sur éditer ce paramètre dans ton js de parametrage du wysiwyg
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    width : "538",
    height : "200",
    je pense que la largeur mini est relative au nombre de fonction (boutons) que tu utilise ... si tu n'a pas besoin de toutes les options proposer, arrange toi pout definir une mise en place de ces boutons pour que cela colle avec ta largeur mini

Discussions similaires

  1. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  2. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27
  3. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  4. [Choix] SGDB pour Entreprise : coût, efficacité, etc.
    Par grassat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 15/06/2002, 08h52

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