1

テキストボックスに値を入力しているときに、入力した値の間に値を入力すると、カーソルが自動的に値の末尾に移動します。

<!DOCTYPE html>
<html>
    <body>
        <script>
        function truncate(x) {
            if(x.value.length > 0) 
            {               
                x.value = x.value.replace(/^\s+/, '');
            }
        }
        </script>

        <input id="otherText" onkeyup="javascript:truncate(this);" maxlength="12" type="text"/>

    </body>
</html>
4

2 に答える 2

0

これを試して

http://jsfiddle.net/DDQSU/2/

$(function() {

    function setCaretPosition(elemId, caretPos) {
        var elem = elemId
        if(elem != null) {
        if(elem.createTextRange) {
           var range = elem.createTextRange();
           range.move('character', caretPos);
           range.select();
        }
        else {
           if(elem.selectionStart) {
              elem.focus();
              elem.setSelectionRange(caretPos, caretPos);
           }
           else
              elem.focus();
        }
    }
}

$("#otherText").on("keyup", function(event){
                            var x = this,sel=x.selectionStart;
                            if(x.value.length > 0) 
                            {               
                                x.value = x.value.replace(/^\s+/g, '');
                            }
                            setCaretPosition(x,sel);
                        })
                 })

解決策は、HTMLテキストボックスのキーボードキャレット位置の設定にすでにありました

この質問はJavascriptの複製です。カーソルがテキストボックスの最後に移動しないようにしてください

于 2013-03-07T14:03:51.770 に答える
0
<!DOCTYPE html>
<html>
<body>



<script>
function truncate(x){
var val = document.getElementById("otherText");

var inputTextValue = val.value;
if(inputTextValue.length>0) 
    { 

    val.value = '';

}
}
</script>
<input id="otherText" onkeyup="javascript:truncate(this);"   maxlength="12" type="text"/> </body>
</html>

文字列を特定の正規表現に置き換える方法がわからないことに注意してください。ただし、上記のコードは空の文字列に置き換えるだけです。要件に応じて変更できます。

于 2013-03-07T13:00:42.173 に答える