如何在输入文本字段中设置不可见的RTL标记

时间:2014-05-02 15:47:01

标签: javascript html twitter-bootstrap

我在RTL页面中有一个<input type="text">,用户输入用&#34; /&#34;分隔的数字。例如:2014/555/144

用户输入144然后/然后555然后/然后2014我添加RTL字节标记以更改各种方向之间的方向组件。 下面的代码效果很好但是当我移动到Bootstrap时,RTL字节标记变得可见而不是被应用。

<input id="inputId" type="text" onkeypress="return replace('inputId',event,'/','/&rlm;');" />

<script type="text/javascript">

    function replace(id, evt, a, b) {
        var keyCode = evt.which ? evt.which : evt.keyCode;
        expr = String.fromCharCode(keyCode);
        if (expr == a) {
            var st = document.getElementById(id).value;
            var st2 = st.substring(0, st.length);
            document.getElementById(id).value = st2 + b;
            return false;
        }
    }
</script>

1 个答案:

答案 0 :(得分:0)

好吧!我找到了解决方案; 当我转换到我的代码发送给你(我的项目是在.net mvc 3 ..)输入按我想要的方式工作:问题是在转换为html之前调用replace函数 - 不起作用的代码:

@Html.TextBox("inputId", "", new { onkeypress="return replace('inputId',event,'/','/&rlm;');", placeholder = "Number", @class = "input-small",dir="rtl" })

- 有效的代码:

<div onkeypress="return replace('inputId',event,'/','/&rlm;');" >
    @Html.TextBox("inputId", "", new { placeholder = "Number", @class = "input-small",dir="rtl" })
</div>

和bootstrap是无辜的!