2015-10-16 12 views
5

Próbuję zmienić tekst przycisku za pomocą tego kodu, ale nie otrzymuję żadnej reakcji. To powinno być dobre, patrząc na wszystko, co przeczytałem - ale to nie zmienia tekstu. Co ja tu robię źle?Nie można zmienić tekstu przycisku w HTML i JavaScript

<!DOCTYPE html> 
<html> 
<head> 
    <script> 
     function changeText() { 
      document.getElementById('myButton').value = "New value"; 
     } 
    </script> 
</head> 
<body> 
    <button id="myButton" onclick="changeText()">Change my text!</button> 
</body> 
</html> 
+1

'' myButton '). InnerHTML = "Nowa wartość"; '. 'button' nie ma' wartości' – Tushar

+1

'document.getElementById ('myButton'). textContent =" Nowa wartość ";' –

Odpowiedz

7

Musisz ustawić właściwość „InnerHTML” zamiast:

function changeText() { 
    document.getElementById('myButton').innerHTML= "New value"; 
} 

Można określić wartość na przycisku, ale to nie jest bardzo często używane. W twoim przypadku chcesz zmienić tekst przycisku. Więc innnerHTML jest twoim przyjacielem. Aby uzyskać więcej informacji, patrz this page.

Zauważ, że możesz używać 'innerText' również w IE, ale nie jest on obsługiwany w Firefox (i prawdopodobnie nie w innych). "TextContent" może być także opcją, ale ta nie jest obsługiwana w starszych przeglądarkach (przed 2011). Zatem innerHTML jest najbezpieczniejszą opcją.

3

Przyciski mogą mieć wartość, ale wyświetlany jest kod HTML wewnątrz przycisku, który należy zmienić. Lepiej użyj innerHTML:

function changeText() { 
    document.getElementById('myButton').innerHTML = "New value"; 
} 
Powiązane problemy