在開發網站表單的時候,爲了給用戶良好的體驗度,在驗證表單數據的時候,我們會先使用JavaScript來進行表單數據的驗證,如果用戶輸入的數據不對,我們就可以馬上給出提示信息。爲了更進一步給用戶良好的體驗感,比如用戶在幾個文本框內輸入了數據,提交的時候,某個文本框內的數據不對,我們在提示哪項數據不符的情況下,再把光標定位到該項文本框內。我們在這麼做的時候,會發現一個問題,就是光標位置的問題,光標雖然定位到了指定的文本框內,但是出現在了字符串的前面,理想的狀態是定位到字符串的末尾。下面給大家分享一個JS光標定位到文本框字符串末尾的函數。
function setCaretPosition(tObj, sPos){
if(tObj.setSelectionRange){
setTimeout(function(){
tObj.setSelectionRange(sPos, sPos);
tObj.focus();
}, 0);
}else if(tObj.createTextRange){
var rng = tObj.createTextRange();
rng.move('character', sPos);
rng.select();
}
}
JS光標定位到文本框字符串末尾函數用法示例:
var tObj =document.getElementById("addhotPagetext");
var sPos = tObj.value.length;
setCaretPosition(tObj, sPos);