¿Como cambiar el value de un boton una vez clickeado?

publicado por: Anonymous

Buenos dias,recien estoy empezando con javascript y me esta costando un poquito…
Lo que quiero hacer es que al hacer click al boton este cambie su value,pero no entiendo el error:

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">

    <title>Hola mundo</title>
    <script src="holamundo_ext.js"></script>
</head>
<body>
    <input type="button" value="Hola" id="boton" onclick="cambiarboton()">
</body>
</html>

function cambiarboton(){
    var i=document.getElementById("boton").innerHTML("Mundo");

}
window.onload=cambiarboton();

En la consola dice:

TypeError: document.getElementById(…) is null
TypeError: document.getElementById(…).innerHTML is not a function

Desde ya,gracias!

solución

innerHTML no es una funcion, sino una propiedad por lo que tienes que asignarla. innerHTML le asigna un string o objeto html al elemento seleccionado pero un button no acepta html. Lo que buscas es cambiar el value(valor), no el HTML:

_x000D_

_x000D_

function cambiarboton(){_x000D_
    var i=document.getElementById("boton").value = "Mundo";_x000D_
_x000D_
}_x000D_
window.onload=cambiarboton();

_x000D_

<!DOCTYPE html>_x000D_
<html lang="es">_x000D_
<head>_x000D_
    <meta charset="UTF-8">_x000D_
_x000D_
    <title>Hola mundo</title>_x000D_
    <script src="holamundo_ext.js"></script>_x000D_
</head>_x000D_
<body>_x000D_
    <input type="button" value="Hola" id="boton" onclick="cambiarboton()">_x000D_
</body>_x000D_
</html>

_x000D_

_x000D_

_x000D_


Siguiendo tu ejemplo y esta respuesta, el valor del buton se cambia al momento de la pagina cargar y seguro lo que quieres es que cambie el valor cuando se haga clic sobre el button. Elimina la declaracion de ejecutar una funcion cuando la pagina cargue:

_x000D_

_x000D_

function cambiarboton(){_x000D_
    var i=document.getElementById("boton").value = "Mundo";_x000D_
_x000D_
}_x000D_
_x000D_
// no se necesesita ya que se cambiara cuando se haga clic_x000D_
//window.onload=cambiarboton();

_x000D_

<!DOCTYPE html>_x000D_
<html lang="es">_x000D_
<head>_x000D_
    <meta charset="UTF-8">_x000D_
_x000D_
    <title>Hola mundo</title>_x000D_
    <script src="holamundo_ext.js"></script>_x000D_
</head>_x000D_
<body>_x000D_
    <input type="button" value="Hola" id="boton" onclick="cambiarboton()">_x000D_
</body>_x000D_
</html>

_x000D_

_x000D_

_x000D_

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *