簡體   English   中英

如何保存輸入值並將其放入其他輸入中?

[英]How can I save input value and put the value in other input?

我有2個空輸入。 我希望用戶在輸入1中編寫一些內容,然后文本將顯示在輸入2中。

由於您沒有使用jQuery標記問題,因此我假設您只想使用純Javascript進行此操作。

我建議像這樣在您的字段上使用ID屬性:

<input id="input1" value="">
<input id="input2" value="">

然后,使用以下Javascript查找元素,然后將keyup事件綁定到第一個輸入,以調用一個函數,該函數將值從input1復制到input2。

var input1 = document.getElementById('input1');
var input2 = document.getElementById('input2');

var updateInputs = function () {
    input2.value = input1.value;
}

if (input1.addEventListener) {
    input1.addEventListener('keyup', function () {
        updateInputs();
    });
} else if (input1.attachEvent) { // support IE
    input1.attachEvent('onkeyup', function () {
        updateInputs();
    });
}

您可以在此處查看此代碼的運行情況: http : //jsfiddle.net/8KptW/1/

要了解有關addEventListener更多信息,請參見: https : //developer.mozilla.org/en/DOM/element.addEventListener

要了解有關getElementByID更多信息,請參見: https : //developer.mozilla.org/en/DOM/document.getElementByID

UPDATE

當然,如果要包括jQuery框架,則可以使用以下代碼:

$('#input1').bind('keyup', function () {
    $('#input2').val(this.value);
});

此處的工作示例: http : //jsfiddle.net/8KptW/2/

您可以在此處閱讀有關jQuery及其事件綁定的更多信息: http : //api.jquery.com/bind

這是我實現該目標的方法:

function syncFields(from,to){
    if(!$(from) || !$(to) || $(to).value.length>0){return false;}
    if($(from).nodeName.toLowerCase()=='input' && $(from).type=='text'){
        var etype='keyup';
    }else if($(from).nodeName.toLowerCase()=='select'){
        var etype='change';
    }else{
        return false;
    }
    $(from).addEventListener(etype,sync,false);
    $(to).addEventListener(etype,function(){$(from).removeEventListener(etype,sync,false);},false);
    function sync(){
        if($(to).nodeName.toLowerCase()=='input' && $(to).type=='text'){
            $(to).value=$(from).value;
        }else if($(to).nodeName.toLowerCase()=='select'){
            $(to).selectedIndex=$(from).selectedIndex;
        }
        return true;
    }
}

請注意,它依賴於DOM 2和一些原型語法

這將達到目的。

 <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
         <script type="text/javascript">
             function f(a, b) {
                 document.getElementById(a).value = document.getElementById(b).value;
             }
        </script>
    </head>
    <body>

            <input id="Submit1" onkeyup="f('Submit2','Submit1')" type="text"  value="" />
            <input id="Submit2" type="text" value="" />
    </body>
    </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM