在文本框中输入值时,当我在输入的值之间输入值时,光标会自动移动到值的末尾。
<!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>
答案 0 :(得分: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>
请注意我不知道如何用特定的正则表达式替换字符串。但上面的代码只是替换为空字符串。您可以根据自己的要求进行修改。
答案 1 :(得分:0)
试试这个
$(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);
})
})
解决方案已经在那里了 Set keyboard caret position in html textbox
重复