Wait for Function Fill

1

I have the following function

sistema('/comando2'); //estou chamando assim



            sistema(cmd)
            {  if((req.state == 4) && (req.status == 200))//verifica a request do XMLHttpRequest
                {   
                    if(cmd.search("/comando1")>=0) {faz algo//}
                    if(cmd.search("/comando2")>=0) {chama uma function que abre um modal com uma input para digitar algo, depois salva o valor digitado em uma var chamada **Nome**}

                    }
                   ///faz outra coisa
            }

How do I do that when the modal opens, the function waits and does not execute the rest until the var Name has a value, then only finish after executing the rest. >     

asked by anonymous 11.10.2017 / 10:28

1 answer

2

Instead of making the function wait, you can add an "OK" button to save the reported value. This button will call a function that executes the rest of the code you want. See the example:

function sistema(cmd) {

  //if ((req.state == 4) && (req.status == 200)) {

  if (cmd.search("/comando1") >= 0) {
    // faz algo
  }
  if (cmd.search("/comando2") >= 0) {
    abrirModal();
  }

  // }
}

function resultadoModal() {
  var nome = document.getElementById("nome").value;
  alert("O valor da variável nome é : " + nome + ". Faça algo com ela.");
  document.getElementById("modal").style.display = "none";
}

function abrirModal() {
  document.getElementById("modal").style.display = "block";
}

function fechar() {
  document.getElementById("modal").style.display = "none";
}
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  padding-top: 100px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.4);
}

.conteudo-modal {
  background-color: #ffffff;
  margin: auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

.fechar {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}
<label for="comando">Comando:</label>
<input type="text" id="comando" />
<button type="button" id="executar" onClick="sistema(document.getElementById('comando').value)">
Executar
</button>

<div id="modal" class="modal">

  <!-- conteúdo da div -->
  <div class="conteudo-modal">
    <span class="fechar" onClick="fechar()">&times;</span>
    <p>
      <label for="nome">Nome:</label>
      <input type="text" id="nome" />
      <button type="button" id="ok" onClick="resultadoModal()">OK</button>
    </p>
  </div>

</div>
    
11.10.2017 / 14:23