Problème avec liste déroulante
Psix
Messages postés
107
Statut
Membre
-
Psix Messages postés 107 Statut Membre -
Psix Messages postés 107 Statut Membre -
Bonjour, pour mon livre d'or j'ai mis un place un bbcode afin de pérsonnaliser les messages. Le code s'insère bien dans bon textarea pour mes boutons (gras, italique etc..), mais pour mes listes déroulante (couleurs etc...) le code ne s'insère qu'avec Firefox et Opera, et non avec Google Chrome et Internet explorer.
Voici mon code de mes listes déroulantes :
Et voici le code de mon script qui permet d'insérer le code :
Merci d'avance pour vos réponse :).
ps : le site remplace dans mon code par exemple '[ /bleu ]' (sans les espaces) par '/bleu'
Voici mon code de mes listes déroulantes :
<select id="couleurs">
<option class="opt_titre" selected="selected">Couleur</option>
<option value="rose" class="rose" onClick="javascript:bbcode('[rose]', '/rose');return(false)">rose</option>
<option value="rouge" class="rouge" onClick="javascript:bbcode('[rouge]', '/rouge');return(false)">rouge</option>
<option value="orange" class="orange" onClick="javascript:bbcode('[orange]', '/orange');return(false)">orange</option>
<option value="jaune" class="jaune" onClick="javascript:bbcode('[jaune]', '/jaune');return(false)">jaune</option>
<option value="vertc" class="vertc" onClick="javascript:bbcode('[vertc]', '/vertc');return(false)">vert clair</option>
<option value="vertf" class="vertf" onClick="javascript:bbcode('[vertf]', '/vertf');return(false)">vert foncé</option>
<option value="olive" class="olive" onClick="javascript:bbcode('[olive]', '/olive');return(false)">olive</option>
<option value="turquoise" class="turquoise" onClick="javascript:bbcode('[turquoise]', '/turquoise');return(false)">turquoise</option>
<option value="bleugris" class="bleugris" onClick="javascript:bbcode('[bleugris]', '/bleugris');return(false)">bleu-gris</option>
<option value="bleu" class="bleu" onClick="javascript:bbcode('[bleu]', '/bleu');return(false)">bleu</option>
<option value="marine" class="marine" onClick="javascript:bbcode('[marine]', '/marine');return(false)">marine</option>
<option value="violet" class="violet" onClick="javascript:bbcode('[violet]', '/violet');return(false)">violet</option>
<option value="marron" class="marron" onClick="javascript:bbcode('[marron]', '/marron');return(false)">marron</option>
<option value="noir" class="noir" onClick="javascript:bbcode('[noir]', '/noir');return(false)">noir</option>
<option value="gris" class="gris" onClick="javascript:bbcode('[gris]', '/gris');return(false)">gris</option>
<option value="argent" class="argent" onClick="javascript:bbcode('[argent]', '/argent');return(false)">argent</option>
<option value="blanc" class="blanc" onClick="javascript:bbcode('[blanc]', '/blanc'); return(false)">blanc</option>
</select>
<select id="taille_texte">
<option class="opt_titre" selected="selected">Taille</option>
<option value="tpetit" onClick="javascript:bbcode('[tpetit]', '/tpetit');return(false)">Très petit</option>
<option value="petit" onClick="javascript:bbcode('[petit]', '/petit');return(false)">Petit</option>
<option value="moyen" onClick="javascript:bbcode('[moyen]', '/moyen');return(false)">Moyen</option>
<option value="gros" onClick="javascript:bbcode('[gros]', '/gros');return(false)">Gros</option>
<option value="tgros" onClick="javascript:bbcode('[tgros]', '/tgros');return(false)">Très gros</option>
<option value="ttgros" onClick="javascript:bbcode('[ttgros]', '/ttgros');return(false)">Très très gros</option>
</select>
<select id="police_texte">
<option class="opt_titre" selected="selected">Police</option>
<option value="arial" class="arial" onClick="javascript:bbcode('[arial]', '/arial');return(false)">Arial</option>
<option value="arialBlack" class="arial_black_liste" onClick="javascript:bbcode('[arialBlack]', '/arialBlack');return(false)">Arial Black</option>
<option value="courrier" class="courrier" onClick="javascript:bbcode('[courrier]', '/courrier');return(false)">Courrier</option>
<option value="alba" class="Alba" onClick="javascript:bbcode('[alba]', '/alba');return(false)">Alba</option>
<option value="albaSuper" class="alba_super_liste" onClick="javascript:bbcode('[albaSuper]', '/albaSuper');return(false)">Alba Super</option>
<option value="impact" class="impact" onClick="javascript:bbcode('[impact]', '/impact');return(false)">Impact</option>
</select>
Et voici le code de mon script qui permet d'insérer le code :
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.message;
input.focus();
/* pour IE (toujous un cas appar lui ;) )*/
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbfin.length);
}
else
{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
/* pour les navigateurs plus récents que IE comme Firefox... */
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* pour les autres navigateurs comme Netscape... */
else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.message.value += '' + img + '';
}
Merci d'avance pour vos réponse :).
ps : le site remplace dans mon code par exemple '[ /bleu ]' (sans les espaces) par '/bleu'
A voir également:
- Problème avec liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Site dangereux liste - Guide
1 réponse
Ouais tu as utlisé le code de siteduzero si je regarde vite vite vite^^ Enfin, sa peut etre toi qui l'ai fait^^ J'ai fais la même chose que toi pour un t'chat^^ regarde...
<select>
<option>Couleur</option>
<option style="background-color:red;" onClick="javascript:bbcode('[rouge]', '/rouge');return(false)">Rouge</option>
<option style="background-color:blue;" onClick="javascript:bbcode('[bleu]', '/bleu');return(false)">bleu</option>
<option style="background-color:yellow;" onClick="javascript:bbcode('[jaune]', '/jaune');return(false)">Jaune</option>
<option style="background-color:green;" onClick="javascript:bbcode('[vert]', '/vert');return(false)">Vert</option>
</select>
et pourtant, moi sa fonctionne très bien^^ Fait juste attention a ca:
//rouge
$texte = preg_replace('`\[rouge\](.+)\/rouge\`isU', '<p style="color:red;">$1</p>', $texte);
//bleu
$texte = preg_replace('`\[bleu\](.+)\/bleu\`isU', '<p style="color:blue;">$1</p>', $texte);
//jaune
$texte = preg_replace('`\[jaune\](.+)\/jaune\`isU', '<p style="color:yellow;">$1</p>', $texte);
//vert
$texte = preg_replace('`\[vert\](.+)\/vert\`isU', '<p style="color:green;">$1</p>', $texte);
Sufit de bien faire tes preg_replace et le site va bien l'interprété ;-)
<select>
<option>Couleur</option>
<option style="background-color:red;" onClick="javascript:bbcode('[rouge]', '/rouge');return(false)">Rouge</option>
<option style="background-color:blue;" onClick="javascript:bbcode('[bleu]', '/bleu');return(false)">bleu</option>
<option style="background-color:yellow;" onClick="javascript:bbcode('[jaune]', '/jaune');return(false)">Jaune</option>
<option style="background-color:green;" onClick="javascript:bbcode('[vert]', '/vert');return(false)">Vert</option>
</select>
et pourtant, moi sa fonctionne très bien^^ Fait juste attention a ca:
//rouge
$texte = preg_replace('`\[rouge\](.+)\/rouge\`isU', '<p style="color:red;">$1</p>', $texte);
//bleu
$texte = preg_replace('`\[bleu\](.+)\/bleu\`isU', '<p style="color:blue;">$1</p>', $texte);
//jaune
$texte = preg_replace('`\[jaune\](.+)\/jaune\`isU', '<p style="color:yellow;">$1</p>', $texte);
//vert
$texte = preg_replace('`\[vert\](.+)\/vert\`isU', '<p style="color:green;">$1</p>', $texte);
Sufit de bien faire tes preg_replace et le site va bien l'interprété ;-)
Psix
Messages postés
107
Statut
Membre
5
Bonjour, merci de m'avoir répondu, en faite ce qui ne marche pas (même avec ton code), c'est l'insertion du code lorsque l'on clique par exemple sur Bleu (dans mon textarea). Ma prévisualisation marche très bien (elle met bien la couleur). Ou alors je n'ai pas bien compris ce que tu voulais dire...