Bonjour.
Ne connaissant strictement rien au javascript, je fais appel à vous.
Donc, ce que je souhaiterai, c'est que, lorsqu'une personne a sélectionné un choix dans une liste déroulante et qu'il clique dessus, l'option principale (en l'occurrence le nom de la liste) reste sélectionné dans la liste.
Comme sur le SiteDuZero ou les forums PHPBB
Je vous passe mon code javascript et mon formulaire :
javascript.js
Formulaire :
Modifié par Age (24 Jul 2008 - 16:37)
Ne connaissant strictement rien au javascript, je fais appel à vous.
Donc, ce que je souhaiterai, c'est que, lorsqu'une personne a sélectionné un choix dans une liste déroulante et qu'il clique dessus, l'option principale (en l'occurrence le nom de la liste) reste sélectionné dans la liste.
Comme sur le SiteDuZero ou les forums PHPBB
Je vous passe mon code javascript et mon formulaire :
javascript.js
<script type="text/javascript">
function bbcode(bbdebut, bbfin) {
var input = document.forms['form'].elements['textarea'];
input.focus();
/* pour l'Explorer Internet */
if(typeof document.selection != 'undefined') {
/* Insertion du code de formatage */
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
/* Ajustement de la position du curseur */
range = document.selection.createRange();
if (insText.length == 0) {
range.move('character', -repfin.length);
} else {
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
/* pour navigateurs plus récents basés sur Gecko*/
else if(typeof input.selectionStart != 'undefined')
{
/* Insertion du code de formatage */
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);
/* Ajustement de la position du curseur */
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 */
else
{
/* requête de la position d'insertion */
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos)) {
pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length) {
pos = input.value.length;
}
/* Insertion du code de formatage */
var insText = prompt("Veuillez entrer le texte à formater:");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
</script>
Formulaire :
<form id="form" name="form" method="post" action="">
<p>
<textarea name="textarea" id="textarea" cols="45" rows="5"></textarea>
</p>
<input type="button" name="Submit" value="Gras" onclick="bbcode('[b]', '[/b]')"/>
<input type="button" name="Submit2" value="Italique" onclick="bbcode('[i]', '[/i]')"/>
<input type="button" name="Submit3" value="Souligner" onclick="bbcode('[u]', '[/u]')"/>
<input name="button" type="button" onclick="bbcode('', '')" value="Lien" />
<select id="alignement" onchange="bbcode('[aligne='+this.options[this.selectedIndex].value+']',
'[/aligne]');">
<option class="opt_titre" selected="selected">Alignement</option>
<option value="gauche">Gauche</option>
<option value="centre">Centre</option>
<option value="droite">Droite</option>
</select>
</form>
Modifié par Age (24 Jul 2008 - 16:37)