5 votes

Comment modifier la position du curseur de saisie dans les champs de texte pour qu'il soit justifié à droite pour le texte arabe ?

L'écriture arabe commence de droite à gauche mais le curseur clignotant est à gauche. y a-t-il un moyen de le programmer ou de le configurer pour qu'il soit positionné à droite ?

15voto

sterym Points 473

Ou utiliser la direction de l'attribut css

direction: rtl;

2voto

giorgio Points 4181

Il suffit d'utiliser les css ;

input.arabic { text-align:right; }
<input type="text" class="arabic" />

bien que cela ne fasse pas apparaître le dernier caractère inséré à gauche du dernier... Pour ce faire, vous devez écrire une fonction d'inversion et utiliser javascript (ou jquery). Cela ressemblerait à quelque chose comme ceci :

<script type="text/javascript">
    jQuery(document).ready(function($) {
        var reverseFunc = function() {
            $('input').each(function() {
                if($(this).hasClass('arabic')) {
                    // do the invert magic...
                    var val = $(this).val();
                    var newVal = val.charAt(val.length-1) + substr(0, val.length-1);
                    $(this).val(val);
                }
            });
        }

        $('input').bind('keyup', reverseFunc);
    });
</script>

1voto

Dans la boîte de saisie, pour que le curseur commence à droite, il suffit d'appliquer l'une des propriétés css suivantes

input {
    text-align: right
}

ou

input {
    text-align: end
}

ou

input {
    direction: rtl; // or dir attribute is rtl in input tag
    text-align: start;
}

0voto

Sami Points 599

Vous pouvez procéder comme suit

Pour Asp.net

<asp:TextBox ID="TextBox1" runat="server" CssClass="rightAlignText"></asp:TextBox>

Pour html uniquement :

<input id="txt" class="rightAlignText">

et ajoutez ceci dans votre fichier css.

.rightAlignText
{
   text-align:right;
   cursor: text;
}

Merci.

0voto

PepeElRoni Points 1

J'ai eu le même problème dans mon développement web dans différentes langues. Il suffit de se préoccuper de la langue ISO, afin qu'elle n'affiche pas le " ?" aux caractères non reconnus, et de l'orientation des textes (RTL - LTR) pour faciliter la lisibilité de l'information publiée. Le reste dépend de la localisation de l'utilisateur du clavier web.

Si la locale est l'arabe (ou toute autre langue d'orientation similaire, par exemple l'hébreu), le texte saisi est écrit de droite à gauche, les touches d'effacement et de suppression seront investies et le curseur sera placé à la fin du texte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X