Partage
  • Partager sur Facebook
  • Partager sur Twitter

Insertion de balises dans une zone de texte

Liste à puces

    24 janvier 2009 à 11:28:23

    Bonjour,

    Je suis en ce moment sur une partie d'un site qui doit, en gros, avoir les mêmes fonctionnalités de la zForm : saisie de texte, insertions de balises "parsables", prévisualisation. Pour ce faire j'ai lu l'excellent tutoriel de Thunderseb qui traite du sujet, et je ne trouve rien à redire, tout est parfait tout marche !

    Cependant, un point qui n'est pas abordé dans ce tutoriel est celui des listes à puces. J'ai réussi ( :D ) à écrire le code qui permet d'insérer proprement ceci :

    Citation : Zone de saisie

    <list>
    <item>Bla bla bla</item>
    <item>Bla bla bla</item>

    </list>

    Je l'insère avec des "prompt" comme sur le SdZ. Seulement, je souhaite que le "prompt" se renouvelle à chaque fois que l'utilisateur clique sur "OK" mais que la boucle se termine lors du clic sur "Annuler" ... et ça, je n'y arrive pas.

    Je voulais faire une boucle infinie (déjà ça pue ...) et un break quand la variable qui appelle "prompt()" vaut null (soit un clic sur Annuler d'après ce que j'ai compris). Voici mon code (vous reconnaîtrez la façon de faire de Thunderseb ;) ):
    case "list":
    	endTag = "\n</list>";
    	startTag = "<list>";
            var i;
    	for (i = 1; i > -1; i++) {
    		var puce = prompt("List item (click \"Cancel\" to stop now) : ") || "";
    		if (puce == null) {
    			break;
    		} else {
    			startTag = startTag + "\n<item>" + puce + "</item>";
    		}
    	} 
    	break;
    
    Ce code s'insère dans un "switch" qui gère les différents types de balises (l'argument tagType de la fonction du tutoriel).

    Mais dans l'état, la boucle "for" ne stoppe jamais, malgré l'instruction "break" en cas de "null" renvoyé par "prompt". Je sais que l'insertion se fait correctement : j'ai essayé de rendre la boucle non plus infinie mais limitée à 10, et au bout de 10 fenêtres "prompt", j'avais ma liste de 10 items de liste. Cela dit j'aimerais laisser à l'utilisateur le choix du nombre d'items dans sa liste ...
    Sauriez-vous comment m'y prendre pour casser ce "for" ? Ou passer par autre chose qu'une boucle infinie - ce serait plus joli ? Merci d'avance.

    Amicalement,
    Tahmahal.
    • Partager sur Facebook
    • Partager sur Twitter

    Insertion de balises dans une zone de texte

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown