使用Javascript取消选择文本

使用Javascript取消选择文本,javascript,Javascript,我在一个html页面的表单中有两个带有数字id的输入标记。关于焦点,我想从第一个输入的第一个字符和第二个字符设置第二个输入的值。然后我想在第二次输入中取消选择所选文本。有办法吗? 我编写了以下HTML代码: <label>Num. Fattura: <input type="text" name="numfattura1" onkeypress="return event.keyCode != 13" id="1" /> </label>

我在一个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 />

我找不到如何取消选择自动选择的文本。

在另一个表单元素上调用
.focus()

您也可以清空并重新填充输入。 如果要测试:

<input type="textfield" id="aaa" value="aaa" />
<input type="textfield" id="bbb" value="bbb" onmouseover="empty()"  />

<script>
var empty = function() {
    var ipt = document.getElementById('aaa');
    var iptval = ipt.value;
    ipt.value = "";
    ipt.value = iptval;
}
</script>

var empty=函数(){
var ipt=document.getElementById('aaa');
var iptval=ipt.value;
ipt.value=“”;
ipt.value=iptval;
}

使用setTimeOut设置selectionStart和selectionEnd

在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);
}

谢谢,但我没有使用JQuery:DThank you;但是我不能。。。在第二次输入值更改后,我必须修改文本…@Andreavenazi,那么我不明白你想做什么。你确定吗?你怎么称呼这个?它对我来说非常有用。我在我的两位数(id)函数中调用您的函数(在var empty=function(id){var ipt=document.getElementById(id);)并使用:empty(id);在Safari中它不起作用,文本保持选中状态:(
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);
}