Jump to content
Ted2370

Condição não funcionando em string

Recommended Posts

Primeiro, eu sou leigo no assunto e estou tentando aprender sobre funções criando um programa básico!

O problema é que estou tentando fazer uma condição que:

Ao apertar o botão: Abrir Caixa, a ideia é que apareça um alert na tela dizendo que o caixa foi aberto. até aí tudo bem.

Mas queria que, ao pressionar o botão novamente, ele fechasse o caixa.

Pra isso tentei utilizar a própria string do que, quando estivesse escrito 'Caixa Fechado', ele abriria, e quando estivesse 'Caixa Aberto' ele fecharia

o problema é que eu não sei por que o meu js não ta reconhecendo o que está escrito na string, só reconhece que é uma string. (quando tento o mesmo código no node exec, ele funciona) :(

ta aí os Códigos:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    
    <link rel="stylesheet" href="estilos.css">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Caixa</title>
</head>
<body>
    <div class="lateral" >    
        <h1 class="" name="txtest" id="estado">Caixa Aberto</h1>    
        <input type="number" name="txtinit" id="txtinit" class="txtinit">
        <input type="button" value="Abrir Caixa" onclick="abrir()" class="open" id="abrir">
    </div>




    <script src="./main.js"></script>
</body>
</html>


const { app, BrowserWindow } = require('electron')

function createWindow() {
  let win = new BrowserWindow({

    width: 1360,
    height: 720,
    fullscreen: false,
    frame: true,
    webPreferences: {
      nodeIntegration: false
    }
  })

  win.loadFile('index.html')
  win.removeMenu('index.html')

}
function abrir() {
  var estate = window.document.getElementById('estado')
  

  if (estate == 'Caixa Aberto') {
    estate = 'Caixa Aberto'
    window.alert("O caixa foi Aberto!")
  
  } else {
    estate = 'Caixa Fechado'
    window.alert("O caixa foi Fechado!")
  }
}


app.on('ready', createWindow)
body{
    background: rgba(231, 223, 206, 0.37);
}
.word{
    
    background: red;
}
.txtinit{
    font-variant-numeric: tabular-nums;
    height: 20px;
    width: 200;
    background: rgba(231, 223, 206, 0.37);
}
.open{
    height: 60px;
    width: 200px;
    margin-top: 500px;
}
.lateral{
    text-align: center;
    background: rgba(0, 0, 0, 0.74);
    margin-top: 20px;
    height: 670px;
    width: 250px;
}

 

Share this post


Link to post
Share on other sites

Coloquei no mesmo arquivo para facilitar a visualização:

 

<!DOCTYPE html>
<html lang="pt-BR">

<head>

    <!-- <link rel="stylesheet" href="estilos.css"> -->
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Caixa</title>
</head>

<body>
    <div class="lateral">
        <h1 class="" name="txtest" id="estado">Caixa Aberto</h1>
        <input type="number" name="txtinit" id="txtinit" class="txtinit">
        <input type="button" value="Abrir Caixa" onclick="abrir()" class="open" id="abrir">
    </div>




    <!-- <script src="./main.js"></script> -->
    <script>
        // const { app, BrowserWindow } = require('electron')

        function createWindow() {
            let win = new BrowserWindow({

                width: 1360,
                height: 720,
                fullscreen: false,
                frame: true,
                webPreferences: {
                    nodeIntegration: false
                }
            })

            win.loadFile('index.html')
            win.removeMenu('index.html')

        }
        function abrir() {
            var estate = document.getElementById('estado');

            if (estate.textContent == 'Caixa Aberto') {
                estate.textContent = 'Caixa Fechado'
                window.alert("O caixa foi Fechado!")

            } else {
                estate.textContent = 'Caixa Aberto'
                window.alert("O caixa foi Aberto!")
            }
        }


        // app.on('ready', createWindow)
    </script>


    <style>
        body {
            background: rgba(231, 223, 206, 0.37);
        }

        .word {

            background: red;
        }

        .txtinit {
            font-variant-numeric: tabular-nums;
            height: 20px;
            width: 200;
            background: rgba(231, 223, 206, 0.37);
        }

        .open {
            height: 60px;
            width: 200px;
            margin-top: 500px;
        }

        .lateral {
            text-align: center;
            background: rgba(0, 0, 0, 0.74);
            margin-top: 20px;
            height: 670px;
            width: 250px;
        }
    </style>

</body>

</html>

isso?

Share this post


Link to post
Share on other sites
1 hora atrás, winterjeferson disse:

Coloquei no mesmo arquivo para facilitar a visualização:

 


<!DOCTYPE html>
<html lang="pt-BR">

<head>

    <!-- <link rel="stylesheet" href="estilos.css"> -->
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Caixa</title>
</head>

<body>
    <div class="lateral">
        <h1 class="" name="txtest" id="estado">Caixa Aberto</h1>
        <input type="number" name="txtinit" id="txtinit" class="txtinit">
        <input type="button" value="Abrir Caixa" onclick="abrir()" class="open" id="abrir">
    </div>




    <!-- <script src="./main.js"></script> -->
    <script>
        // const { app, BrowserWindow } = require('electron')

        function createWindow() {
            let win = new BrowserWindow({

                width: 1360,
                height: 720,
                fullscreen: false,
                frame: true,
                webPreferences: {
                    nodeIntegration: false
                }
            })

            win.loadFile('index.html')
            win.removeMenu('index.html')

        }
        function abrir() {
            var estate = document.getElementById('estado');

            if (estate.textContent == 'Caixa Aberto') {
                estate.textContent = 'Caixa Fechado'
                window.alert("O caixa foi Fechado!")

            } else {
                estate.textContent = 'Caixa Aberto'
                window.alert("O caixa foi Aberto!")
            }
        }


        // app.on('ready', createWindow)
    </script>


    <style>
        body {
            background: rgba(231, 223, 206, 0.37);
        }

        .word {

            background: red;
        }

        .txtinit {
            font-variant-numeric: tabular-nums;
            height: 20px;
            width: 200;
            background: rgba(231, 223, 206, 0.37);
        }

        .open {
            height: 60px;
            width: 200px;
            margin-top: 500px;
        }

        .lateral {
            text-align: center;
            background: rgba(0, 0, 0, 0.74);
            margin-top: 20px;
            height: 670px;
            width: 250px;
        }
    </style>

</body>

</html>

isso?

ISSO!! Muito obrigado, o erro então era que eu devia usar o .textContent

Tentei usar o .innerHTML e nem assim consegui, mas com  o .textContent foi!!

Valeu!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Marceloely
      Eu gostaria de saber como fazer para preencher automaticamente(pré populado) uma página de pagamentos a partir dos dados inseridos em uma página anterior pelo plugin do contact form 7 do wordpress
       
      Os campos até são preenchidos, mas não com a informação inserido no formulário mas sim com a id mesmo que coloquei na URL
        
      <label> Seu nome
          [text nome id:nome class:nome] </label>
      <label> Seu DDD
      [tel DDD id:DDD class:DDD]</label>
      <label> Seu Celular
      [tel celular id:celular class:celular]</label>
      <label> Seu e-mail
      </label>
      <label> Assunto
          [text* your-subject] </label>
      <label> Sua mensagem (opcional)
          [textarea your-message] </label>
      [submit "Enviar"]
      <script>
       document.addEventListener('wpcf7mailsent', function (Event) {
         location = 'https://pay.hotmart.com/A48773288I?ap=5181&name=id:nome&phoneac=id:ddd&phonenumber=id:celular&email=id:email';
       }, false);
      </script>
    • By Marceloely
      Em alguns países, campanhas de publicidade com objetivo de mensagem no instagram são proibidas, tendo isso em vista gostaria de saber se é possível criar um link onde o usuário caia direto no inbox de outra pessoa no instagram? Como se fosse aqueles links do que cai na conversa do whatsapp.
    • By rafa-martin
      Pessoal, boa noite. 
       
      Estou tendo problemas ao passar um  parâmetro do tipo cursor no java no momento que chamo uma proc no oracle. 
       
      Tenho uma procedure que o parâmetro é um cursor. 
       
      create or replace minhaproce(p_result OUT SYS_REFCURSOR)
       
      begin
        open p_result for select * from tabela;
      end;
       
      Até aqui beleza. 
       
      quando chamo no java não está aceitando o tipo cursor.
       
      @Query(value = "{call minhaproce(?)}", nativeQuery = true)
      Collection<Coche> minhaproce(@Param("p_result") OracleTypes.CURSOR) 
       
      não é aceita. mesmo eu colocando como collection Collection<Coche> listaProcedure(@Param("p_result") List<Coche> p_result2), também não aceita. Agora seu eu fizer o select direto com abaixo retorna. 
       
      @Query(value = "SELECT * FROM tabela", nativeQuery = true)
      Collection<Coche> minhaproce();
       
      Por que funciona fazendo o select direto e não funciona pela procedure? Não acho nada na internet alguma coisa parecida.
    • By KBAlbuquerque
      Estou tentando salvar o nome da imagem no banco de dados com um FormData;
      porém está dando que a imagem está nula no Servidor Node JS da API.
       
      Uso React Native e Express File Upload e Node JS.
       
      Muito obrigada.
       
      Segue o código:
       
      Constantes:
           
      const [nome, setNome] = useState('');       const [marca, setMarca] = useState('');       const [modelo, setModelo] = useState('');       const [foto, setFoto] = useState('');       const [fotoNome, setFotoNome] = useState('');       const [fotoType, setFotoType] = useState('');       const [usuarioId, setUsuarioId] = useState('');  
      Código da API:
         
      const nome = req.body.nome;     const marca = req.body.marca;     const modelo = req.body.modelo;     const foto = req.files;     const usuarioId = req.body.usuario_id;      const file = Date.now().toString() + '_' + foto.myfile;      const filePath = path.join(__dirname, 'public', 'imagens');      foto.mv(`${filePath}/${file}`, err => {           if (err) {               return res.send('Imagem não salva!');           } else {               return res.send('Imagem salva com sucesso!');           }     });  
      Escolhe a Imagem:
           
      const escolhaImagem = (response) => {         if (response.didCancel) {             console.log('Cancelado!');         } else if (response.error) {             console.log("Erro na Imagem: " + response.error);         } else if (response.customButton) {             console.log('Botão customizado' + response.customButton);         } else {             setFoto(response);             setFotoUri(response.uri);             setFotoNome(response.fileName);             setFotoType(response.type);         }     }  
      Função FormData no Cadastro:
              
      const formData = new FormData();         formData.append('nome', nome);         formData.append('marca', marca);         formData.append('modelo', modelo);         formData.append('myfile', fotoNome);         formData.append('usuario_id', usuarioId);         console.log(formData);         const headers = {             method: "post",             body: formData,             headers: {                 "Content-Type": "multipart/form-data",                 "Accept": "application/json",             },         }         await fetch(URL_SERVIDOR + '/salvar-veiculo', headers)             .then(response => response.json())             .then(result => {                 console.log(result)             }).catch((err) => {                 console.log("ERRO: " + err);             });  
    • By Dsdaa
      Olá estou fazendo uma tela de login com flask,html,css e js E estou tentando pegar dados para validar se o usuário está cadastrado ou não Como nenhum usuário tem cadastro, então queria que aparecesse uma mensagem dizendo para o usuário se cadastrar e redirecionar para nova tela - mas isso aí eu me viro -, gostaria mesmo de ajuda para pegar esses dados através do button e onclick pois não estou conseguindo :/ . Irei postar o código .html
      Obs: O arquivo de javascript não tem nada
      <!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> <link rel="stylesheet" href="../Flask-Login/estilo.css"> <title>Login Page</title> <script src="js/scripts.js" defer></script> </head> <body> <div class="row align-items-center h-100 "> <div class="col-8 col-md-3 col-xs-8 mx-auto l-form"> <form id="login-form"> <img class="row mx-auto" src="https://i.imgur.com/RhJpe7c.png" width="150"> <div class="form-group "> <input type="text" name="email" placeholder="Email" class="form-control i-form"> </div> <div class="form-group"> <input type="password" name="password" placeholder="Password" class="form-control i-form"> </div> <div class="form-group"> <button type="button" onclick="userLogin()" class="btn btn-dark btn-md btn-block">Login</button> </div> </form> </div> </div> <script> </script> </body> </html>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.