Ir para conteúdo
Fórum Script Brasil
  • 0

Alguém me ajuda a achar o erro no script


Gabriel Giachini

Pergunta

Não está aparecendo o mês correspondente ao número no formulário.

 

<!DOCTYPE html>
<html>

<head>
    <title>Salário</title>
    <meta http-equiv="Content-Type" content="text/html; ">
    <meta charset="utf-8"/>
</head>

<body>

<!-- Definição de Formulário. --->
<form name="formcalend" action="" method="post">
Digite o m&ecirc;s (01 a 12): <input type="text" name="f_mes" size="4" maxlength="2" /><p></p>
<input type="button" name="btn_processar" value="Processar" onClik="verificames()"/>
<input type="reset" name="btn_cancelar" value="Cancelar" /><p></p>
O M&ecirc;s correspondente &eacute;: <input type="text" name="f_nomemes" size="18" maxlength="15" />
</form>

<!-- Início estrutura JavaScript -->
    <script language="JavaScript">
    <!--
    /*     Objetivo: Utilizando o recurso de seleção múltipla - switch...case, pesquisar o nome do mês
        através do respectivo número do mês informado.
        - Objetivos/Métodos utilizados:
        Entrada: document.form (Entrada via formulário)
        Saída: document.form (saída de dados via formulário)
        - Importante:
            Os campos do formulário serão identificados com o prefixo j_ => Exemplo: f_mes
            OS campos do JavaScript serão identificados com o prefixo js_=> Exemplo: js_mes
    */
    
    /* Definição das variáveis */
    var js_mes;
    
    /* Início da função verificames() */
    function verificames(){
    
    /* Captura do valor do formulário */
    js_mes=parseInt(document:formcalend.f_mes.value);
    
    /* Início da Estrutura Switch...case */
    switch (js_mes){
            case 1 : document.formcalend.f_nomemes.value = 'Janeiro'; break;
            case 2 : document.formcalend.f_nomemes.value = 'Fevereiro'; break;
            case 3 : document.formcalend.f_nomemes.value = 'Março'; break;
            case 4 : document.formcalend.f_nomemes.value = 'Abril'; break;
            case 5 : document.formcalend.f_nomemes.value = 'Maio'; break;
            case 6 : document.formcalend.f_nomemes.value = 'Junho'; break;
            case 7 : document.formcalend.f_nomemes.value = 'Julho'; break;
            case 8 : document.formcalend.f_nomemes.value = 'Agosto'; break;
            case 9 : document.formcalend.f_nomemes.value = 'Setembro'; break;
            case 10 : document.formcalend.f_nomemes.value = 'Outubro'; break;
            case 11 : document.formcalend.f_nomemes.value = 'Novembro'; break;
            case 12 : document.formcalend.f_nomemes.value = 'Dezembro'; break;
        default : document.formcalend.f_nomemes.value = '** Mes Invalido! **'; break;    
    }
    /* Final da estrutura */
    }
    /* Final da Função */
    //-->
    </script>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
10 horas atrás, Gabriel Giachini disse:

<input type="button" name="btn_processar" value="Processar" onClik="verificames()"/>

troque para onclick
 

 

10 horas atrás, Gabriel Giachini disse:

js_mes=parseInt(document:formcalend.f_mes.value);

troque para document.formcalend

Link para o comentário
Compartilhar em outros sites

  • 0



Seu script pode ficar mais elegante assim:
 

<head>
  <meta charset="utf-8" />
  <title>Salário</title>
  <style>
    input[type="text"] {
      text-transform: capitalize;
    }
  </style>
</head>

<body>

  <form action="" method="post">
    Digite o mês (1 a 12): <input type="number" size="4" step="1" min="1" max="12" />
    <p></p>
    <p></p>
    O Mês correspondente a: <input type="text" size="18" maxlength="15" />
  </form>

  <script>
    const setMonthName = (date) => {
      document.querySelector('input[type="text"]').value = new Intl.DateTimeFormat("pt-BR", { month: "long" }).format(date);
    }

    document.querySelector("input[type='number']").onchange = (e) => {
      setMonthName(new Date(2022, e.target.value - 1, 01))
    }
  </script>
</body>

 

https://codepen.io/washalbano/pen/NWBNaVO

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...