我有2个文本框和一个按钮!当我点击按钮时,它应该在所选文本框中写入1但我的代码不起作用

时间:2015-10-13 09:36:08

标签: javascript

我有2个文本框和一个按钮!当我点击按钮时,它应该在所选的文本框中写入1但我的代码不起作用。

我的代码:

function one() {
var number = "1";


if (document.getElementById("txt1").focused) {
    document.getElementById("txt1").value = number;
}
else if (document.getElementById("txt2").focused) {
    document.getElementById("txt2").value = number;
}
else {

}

3 个答案:

答案 0 :(得分:2)

你可以这样做:

<input type="text" onfocus="onFocus(this)" id="itext1"></input>
<input type="text" onfocus="onFocus(this)" id="itext2"></input>
<button onclick="setValue()">ClickMe</button>
<script>
    var selectedDOM = undefined;

    function setValue() {
        if (selectedDOM) { //selecteddom is present set text to it
            selectedDOM.value = 1;
        }
    }

    function onFocus(e) {
        selectedDOM = e;//register the last dom selected inside the variable.
    }
</script>

完整的工作代码here

答案 1 :(得分:1)

您可以使用 onfocus 属性来执行此操作。

<强> HTML

<input type="text" onfocus="myFocusFunction(this)">
<input type="text" onfocus="myPlaceholderFunction(this)">

<强>的Javascript

function myFocusFunction(x) {
   x.value = "1";    
}

function myPlaceholderFunction(x) {
   x.placeholder = "1";    
}

以上是两种在聚焦时在文本框中设置值的方法。您可以在添加值之前应用其中任何一个,然后再添加占位符。

工作演示JSFiddle

答案 2 :(得分:1)

你可以这样做

<div>
    <input type="text" id="txt1">
    <input type="text" id="txt2">    
        <button type ="button" id='button'>Click Me </button>
</div>

JavaScript

(function(){
    var number ='1';
    var _thisId=null;   
     var _button = document.getElementById('button');
     _button.addEventListener('mouseover',function(){
     _thisId = document.activeElement.id;
    },false)

    _button.addEventListener('click',function(){
        if(_thisId =='txt1'){
                document.getElementById("txt2").value = "";
                document.getElementById("txt1").value = number;     
            }
            else if(_thisId =='txt2'){
                document.getElementById("txt1").value = "";
                document.getElementById("txt2").value = number;     
                }
        })
}())

jsfiddle