2015-07-17 2 views
1

Я пытаюсь захватить текст из текстового поля, и он возвращает что-то, но ничего не возвращает, нет строки. Когда я ввожу строку в текстовое поле и нажимаю кнопку, он все равно ничего не возвращает ,getElementById() не возвращает правильную строку

var name; 
name = document.getElementById('username').value; 

function action() { 
document.getElementById("theIMG").src = "https://crafatar.com/avatars/" + name; 
console.log("Working"); 
} 

HTML:

<textarea rows="4" cols="50" id="username" placeholder="Enter your username here!"></textarea> <br /> 
     <button id="submit" onClick="action()">Submit</button> 
     <br /> 
     <img id="theIMG"></img> 
+2

показать нам html слишком – depperm

ответ

1

Вы должны вызвать getElementById внутри метода action - что value не будет сохраняться по мере изменения TextBox:

function action() { 
    var name = document.getElementById('username').value; 
    document.getElementById("theIMG").src = "https://crafatar.com/avatars/" + name; 
    console.log("Working"); 
} 
+0

спасибо, что работает! – Noah

1

Во время выполнения кода, значение "" только. И это не изменится, независимо от того, вы измените значение в html, поскольку вы не обновляете его в своем скрипте. Следовательно, вам нужно обновить свой код к следующему

function action() { 
    var name = document.getElementById('username').value; 
    document.getElementById("theIMG").src = "https://crafatar.com/avatars/" + name; 
    console.log("Working"); 
} 
1

Вы должны определить имя сама функция, как это:

var name; 


function action() { 
name = document.getElementById('username').value; 
document.getElementById("theIMG").src = "https://crafatar.com/avatars/" + name; 
console.log("Working"); 
} 
Смежные вопросы