1
resposta

JAVASCRIPT - TAG <form>

Olá a todos. Estou tendo o seguinte problema: Quando eu utilizo uma função dentro da tag form, ela não funciona. Segue código abaixo.

HTML:

 <!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="mystyle.css">
    <script src="myscript.js"></script>
    <title>Document</title>
</head>
<body>
    <div class="box1">
        <form>
            <p id="demo">ALTERAR</p>
            <button onclick="myFunction()">Altere aqui.</button>
        </form>
    </div>
</body>
</html>

CSS

.box1{
    width: 250px;
    height: 250px;
    background-color: #ffcc90;
    margin: auto;
    margin-top: 200px;
    border-radius: 15px;
}

fieldset{
    width: 50px;
    height: 220px;
    border-radius: 5px;
}

JAVASCRIPT

function myFunction(){
    document.getElementById('demo').innerHTML = 'novo texto'
}

Não consigo entender por que que não funciona.

1 resposta

Olá Gerardo, como você está?

Peço desculpas pela demora em obter um retorno.

Ao executar o seu código, ao clicar no botão para mudar o texto, nada ocorre e isso acontece pela ausência do atributo type="button" no seu código HTML. O atributo "type" é utilizado para especificar o tipo de botão que você está criando. Existem tipos diferentes de botões, sendo: submit, reset e button. Quando você não especifica o tipo de botão, o valor padrão é "submit". Isso significa que o botão envia o formulário quando clicado, no entanto, como queremos chamar uma função e verificar o valor dela, não é necessário que o formulário seja enviado e página recarregada e para este tipo de cenário, usamos o tipo "button".

Veja como fica em código:

<form>
     <p id="demo">ALTERAR</p>
     <button type="button" onclick="myFunction()">Altere aqui.</button>
</form>

Após essa correção, tente executar novamente e verifique se obterá êxito, como mostro no GIF abaixo:

GIF apresentando uma página HTML com um botão que ao ser clicado altera o texto de uma linha.

Espero ter ajudado. Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software