2016-07-02 10 views
1

Wenn ein Benutzer ein Eingabefeld eingibt, möchte ich, dass sein Name nach der Text 'Hallo' angezeigt wird. Statt dessen wird das Wort "Hallo" entfernt und durch ihren Namen ersetzt.Wert zu vorhandenem Wert hinzufügen

var name = document.getElementById('username'); 
 
var div = document.getElementById('displayname'); 
 

 
name.onkeyup = function() { 
 
    div.value = name.value; 
 
}
<input type="text" placeholder="Name" id="username"> 
 
<input type="submit" id="displayname" value="Hello">

JsFiddle: https://jsfiddle.net/t01prhx4/

+1

Es gibt einen subtilen Fehler im Code in der sn ippet: [verwende nicht den Variablennamen 'name'] (http://stackoverflow.com/q/10523701/4642212) (in einem globalen Gültigkeitsbereich), da es eine globale String-Eigenschaft von' window' ist. – Xufox

Antwort

0

Einfaches Hinzufügen hallo vor dem

var name = document.getElementById('username'); 
var div = document.getElementById('displayname'); 

name.onkeyup = function(){ 
    div.value = "Hello " + name.value; 
} 

https://jsfiddle.net/98c16uv5/

+0

Danke, ich wusste nicht, dass es so einfach ist! Ich habe darüber nachgedacht, die Werte zu verketten und diese Route hinunterzugehen. –

+0

Wenn Sie den Literalwert nicht verwenden möchten, können Sie eine Var mit "Hallo" setzen und auf diese Variable verweisen. – scaisEdge

0

Sie können es wie folgt tun:

name.onkeyup = function(){ 
    div.value = 'Hello ' + name.value; 
} 
-1

Ist das, was Sie wollen?

var name = document.getElementById('username'); 
var div = document.getElementById('displayname'); 

name.onkeyup = function(){ 
    div.value = 'Hello ' + name.value; 
} 

https://jsfiddle.net/oapfc1Lo/

0

tun:

name.onkeyup = function(){ 
     div.value = 'Hello ' + this.value; 
    }