web-dev-qa-db-fra.com

Formater le texte dans la boîte d'alerte JavaScript

Comment puis-je formater le texte dans une boîte d'alerte JavaScript? J'ai besoin d'un mot dans le texte pour être souligné.

26
praveen

Vous pouvez utiliser uniquement:

\b = Backspace 
\f = Form feed 
\n = New line 
\r = Carriage return 
\t = tab
\000 = octal character 
\x00 = hexadecimal character 
\u0000 = hexadecimal unicode character

Ainsi, vous pouvez insérer différents caractères ASCII , mais pas les formater (comme italique ou bold).

EDIT Je dois aussi mentionner que, en fait, alert agit comme une conversion toString, de sorte qu'il est impossible d'inclure des balises et/ou des styles.

25
vladkras

Soulignez une chaîne en utilisant le caractère unicode '\u0332', appelé COMBINING LOW LINE

function underline(s) {
    var arr = s.split('');
    s = arr.join('\u0332');
    if (s) s = s + '\u0332';
    return s;
}

var str = underline('hello world'); // "h̲e̲l̲l̲o̲ ̲w̲o̲r̲l̲d̲"

alert(str);

Cette méthode n'est pas garantie pour produire un soulignement lisse.

Exemple de confirm() sur Firefox 59:

 firefox confirm u0332

9
Paul S.

Vous ne pouvez pas styler le texte dans une boîte d’alerte. Mais vous pouvez utiliser une solution de boîte modale à la place. Voici une liste pour vous aider à démarrer:

3
Igor

Dans mon cas, j'ai créé l'internationalisation via un fichier JavaScript. J'avais besoin d'un mnémonique sur chaque bouton, donc je cherchais une solution simple. En fait, j'ai une approche facile pour obtenir le résultat souhaité:

\u0332 est le caractère Unicode COMBINING LOW LINE

Avec ce personnage, vous pouvez souligner des lettres simples. 

Manifestation:

alert('S\u0332earch - s underlined');

i18n = {};

i18n.SEARCH = "S\u0332earch - s underlined";

document.getElementById('search').innerHTML = i18n.SEARCH;
<button id="search"></button>

2
GuyT

Vous ne pouvez pas . Utiliser une bibliothèque externe en tant que Dialogue JQuery UI ou votre propre implémentation.

1
Sirus64

Ce n'est pas possible. Vous devrez utiliser un plugin. Si jQuery est installé, vous avez le choix entre plusieurs options. Si ce n'est pas celui-ci semble prometteur: http://simplemodal.plasm.it/#examples

0
Bill Criswell