我在一个 html 页面的表单中有两个带有数字 id 的输入标签。重点是,我想从第一个输入的第一个和第二个字符设置第二个输入的值。然后我想在第二个输入中取消选择选定的文本。有办法吗? 我写了这段 HTML 代码:
<label>Num. Fattura:
<input type="text" name="numfattura1" onkeypress="return event.keyCode != 13" id="1" />
</label>
<label>Importo:
<input type="text" name="importo1" onkeypress="return event.keyCode != 13" />
</label>
<br />
<label>Num. Fattura:
<input type="text" name="numfattura2" onkeypress="return event.keyCode != 13" id="2" onfocus="twoDigits(2)" />
</label>
<label>Importo:
<input type="text" name="importo2" onkeypress="return event.keyCode != 13" />
</label>
<br />
还有这个 javascript 函数:
function twoDigits(id){
var previousId = id - 1;
var prevoiusValue = document.getElementById(previousId).value;
document.getElementById(id).value = prevoiusValue.substring(0,2);
document.selection.empty();
window.getSelection().removeAllRanges()
}
我找不到如何取消选择自动选择的文本。
最佳答案
使用 setTimeOut 设置 selectionStart 和 selectionEnd。
http://jsfiddle.net/enQvT/适用于 Firefox。
function twoDigits(id){
var previousId = id - 1;
var prevoiusValue = document.getElementById(previousId).value;
var elem = document.getElementById(id);
setTimeout(function() {
elem.selectionStart=0;
elem.selectionEnd=0;
}, 0);
elem.value = prevoiusValue.substring(0,2);
}
关于javascript - 使用 Javascript 取消选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8069999/