PHP with java script and css [closed]

-4
  

Develop an application for Measurement Conversion. The application may   convert the following measures:

     

a) Length: kilometer, meter and centimeter.

     

b) Mass: kilogram and gram.

     

c) Temperature: celsius and fahrenheit.

     

Initially, the user must enter the desired conversion type:   Length, Mass or Temperature. It will then specify the   current value, the value that will be converted and the unit of measurement   desired. For example:

     

a) Conversion type: length

     

b) Current unit: kilometer

     

c) Value: 10

     

d) Desired unit: meter

     

The application should display the result of 10,000 m.

What I've done so far:

var listaTpConvVal = new Array();
var listaTpConvText = new Array();

listaTpConvVal["N"] = ["Selecione uma Unidade"];
listaTpConvVal["C"] = ["Cm", "M", "Km"];
listaTpConvVal["M"] = ["G", "Kg"];
listaTpConvVal["T"] = ["C", "F"];

listaTpConvText["N"] = ["Selecione uma Unidade"];
listaTpConvText["C"] = ["Centímetros", "Metros", "Quilômetros"];
listaTpConvText["M"] = ["Gramas", "Quilogramas"];
listaTpConvText["T"] = ["Celcius", "Fahrenheite"];

function mudaTipoConversao(selectObj) {
  document.getElementById('valorAtual').value = '';
  document.getElementById('valorConvertido').value = '';

  var lIndice = selectObj.selectedIndex; // Índice da opção selecionada
  var lValor = selectObj.options[lIndice].value; // Valor da opção selecionada
  var tcUnidadeAtual = document.getElementById("unidadeAtual"); // pega a unidade da opção selecionada
  var tcUnidadeDesejada = document.getElementById("unidadeDesejada"); // pega a unidade da opção selecionada

  while (tcUnidadeAtual.options.length > 0) {
    tcUnidadeAtual.remove(0); // Limpa as opções da combobox
    tcUnidadeDesejada.remove(0); // Limpa as opções da combobox
  }

  var newOptAtual; // Cria novas opções
  var newOptDesejada; // Cria novas opções

  for (var i = 0; i < listaTpConvVal[lValor].length; i++) {

    newOptAtual = document.createElement("option");
    newOptAtual.value = listaTpConvVal[lValor][i]; // Seta o valor
    newOptAtual.text = listaTpConvText[lValor][i]; // Seta o valor e o Texto

    newOptDesejada = document.createElement("option");
    newOptDesejada.value = listaTpConvVal[lValor][i]; // Seta o valor
    newOptDesejada.text = listaTpConvText[lValor][i]; // Seta o valor e o Texto

    try {
      tcUnidadeAtual.add(newOptAtual); // Insere uma nova opção
      tcUnidadeDesejada.add(newOptDesejada); // Insere uma nova opção
    } catch (e) {
      tcUnidadeAtual.appendChild(newOptAtual);
      tcUnidadeDesejada.appendChild(newOptDesejada);
    }
  }

  function novaConversao() {
    document.getElementById('tipoConversao').value = 'N';
    document.getElementById('valorAtual').value = '';
    document.getElementById('valorConvertido').value = '';
    mudaTipoConversao(document.getElementById('tipoConversao'));
  }

  function novoCalcImc() {
    document.getElementById('peso').value = '';
    document.getElementById('altura').value = '';
    document.getElementById('resultado').value = '';
  }
<!--Content-->
<div id="content">
  <!--Logo-->
  <div id="logo">
  </div>
  <!--Fim Logo-->

  <!--Unidade de Medidas-->
  <div id="unidade_medidas">
    <form name="calc" method="get" enctype="multipart/form-data" action="resultado.php" class="form">
      <h1>Conversão de Unidades</h1>
      <label for="unidade">Tipo de Unidade</label>

      <select id="continent" onchange="mudaTipoConversao(this):">
               <option value="N">Selecione uma Unidade</option>
               <option value="C">Comprimento</option>
               <option value="M">Massa</option>
               <option value="T">Temperatura</option>
               </select>

      <br><br><br>

      <label>Unidade Atual</label>
      <select id="unidadeAtual">
        <option value="0">Unidade Atual</option>
      </select>

      <label>Unidade Desejada</label>
      <select id="unidadeDesejada">
        <option value="0">Unidade Desejada</option>
      </select>


      <html>

      <head>


        <br><br>
        <br />
        <label>
                <span class="span">Insira o Valor</span>
                <br/>
                <input type="text" name="valor" class="in"/>
                </label>

        <input type="submit" name="envia" value="OK!" class="btn">

        </fieldset>

    </form>
    <!--Fim Formulario-->
  </div>
  <!--Fim Unidade de Medidas-->
</div>
<!--Fim Content-->

I'm lost when calling this javascript function.

    
asked by anonymous 31.08.2017 / 17:14

1 answer

0

I would do something similar:

var conversao = {
  "Temperatura": ["Celsius", "Fahrenheit"],
  "Peso": ["Quilograma", "Grama"],
  "Comprimento": ["Quilômetro", "Metro", "Centímetro"]
};
var de = "";
var para = "";
var init = function() {
  var sisteminha = "Escolha o tipo: <select onchange='mudarTipo(this.value)'><option>------------------</option>"
  for (var prop in conversao) {
    sisteminha += "<option value='" + prop + "'>" + prop + "</option>";
  }
  sisteminha += "</select>";
  document.getElementById("sisteminha").innerHTML = sisteminha;
}();

var mudarTipo = function(valor) {
  var sisteminha = "Converter de: <select onchange='mudarTipo2(\"" + valor + "\", this.value)'><option>------------------</option>";
  for (var prop in conversao[valor]) {
    sisteminha += "<option value='" + conversao[valor][prop] + "'>" + conversao[valor][prop] + "</option>";
  }
  sisteminha += "</select>";
  document.getElementById("sisteminha").innerHTML = sisteminha;
}
var mudarTipo2 = function(valor, valor2) {
  de = valor2;
  conversao[valor] = conversao[valor].filter(item => item !== valor2)
  var sisteminha = "Converter para: <select onchange='especificarValor(this.value)'><option>------------------</option>"
  for (var prop in conversao[valor]) {
    sisteminha += "<option value='" + conversao[valor][prop] + "'>" + conversao[valor][prop] + "</option>";
  }
  sisteminha += "</select>";
  document.getElementById("sisteminha").innerHTML = sisteminha;
}
var especificarValor = function(valor) {
  para = valor;
  console.log(de, "->", para);
  var sisteminha = "Converter de "+de+" para "+para+"<br/><input type='text' onblur='valorDigitado(this.value)'>";
  document.getElementById("sisteminha").innerHTML = sisteminha;
}
var valorDigitado = function(valor) {
  if(de == "Quilômetro"){
    if(para == "Metro"){
      func1(valor);
    }else if(para == "Centímetro"){
      func2(valor);
    }else{
      alert("erro");
    }
  }
  if(de == "Metro"){
    if(para == "Quilômetro"){
      func3(valor);
    }else if(para == "Centímetro"){
      func4(valor);
    }else{
      alert("erro");
    }
  }
  if(de == "Centímetro"){
    if(para == "Quilômetro"){
      func5(valor);
    }else if(para == "Metro"){
      func6(valor);
    }
  }
  if(de == "Quilograma"){
    if(para == "Grama"){
      func7(valor);
    }else{
      alert("erro");
    }
  }
  if(de == "Grama"){
    if(para == "Quilograma"){
      func8(valor);
    }else{
      alert("erro");
    }
  }
  if(de == "Celsius"){
    if(para == "Fahrenheit"){
      func9(valor);
    }else{
      alert("erro");
    }
  }
  if(de == "Fahrenheit"){
    if(para == "Celsius"){
      func10(valor);
    }else{
      alert("erro");
    }
  }
}
var func1 = function(valor){
  // Calculo de conversão
  valor*=1000;
  document.getElementById("sisteminha").innerHTML = "O valor convertido de " + de + " para "+ para +" é de " + valor + "<br/><button onclick='location.reload()'>Reiniciar</button>";
}
var func2 = function(valor){
  // Calculo de conversão
  valor*=1000000;
  document.getElementById("sisteminha").innerHTML = "O valor convertido de " + de + " para "+ para +" é de " + valor + "<br/><button onclick='location.reload()'>Reiniciar</button>";
}
var func3 = function(valor){
  valor/=1000;
  // Calculo de conversão
  document.getElementById("sisteminha").innerHTML = "O valor convertido de " + de + " para "+ para +" é de " + valor + "<br/><button onclick='location.reload()'>Reiniciar</button>";
}
var func4 = function(valor){
  valor*=1000;
  // Calculo de conversão
  document.getElementById("sisteminha").innerHTML = "O valor convertido de " + de + " para "+ para +" é de " + valor + "<br/><button onclick='location.reload()'>Reiniciar</button>";
}
var func5 = function(valor){
  // Calculo de conversão
  document.getElementById("sisteminha").innerHTML = "O valor convertido de " + de + " para "+ para +" é de " + valor + "<br/><button onclick='location.reload()'>Reiniciar</button>";
}
var func6 = function(valor){
  // Calculo de conversão
  document.getElementById("sisteminha").innerHTML = "O valor convertido de " + de + " para "+ para +" é de " + valor + "<br/><button onclick='location.reload()'>Reiniciar</button>";
}
var func7 = function(valor){
  // Calculo de conversão
  document.getElementById("sisteminha").innerHTML = "O valor convertido de " + de + " para "+ para +" é de " + valor + "<br/><button onclick='location.reload()'>Reiniciar</button>";
}
var func8 = function(valor){
  // Calculo de conversão
  document.getElementById("sisteminha").innerHTML = "O valor convertido de " + de + " para "+ para +" é de " + valor + "<br/><button onclick='location.reload()'>Reiniciar</button>";
}
var func9 = function(valor){
  // Calculo de conversão
  document.getElementById("sisteminha").innerHTML = "O valor convertido de " + de + " para "+ para +" é de " + valor + "<br/><button onclick='location.reload()'>Reiniciar</button>";
  
}
var func10 = function(valor){
  // Calculo de conversão
  document.getElementById("sisteminha").innerHTML = "O valor convertido de " + de + " para "+ para +" é de " + valor + "<br/><button onclick='location.reload()'>Reiniciar</button>";
}
<div id="sisteminha"></div>

I think I can improve this code a lot, but it is a possible way, there are several, and several micro-improvements that can be made in my code.

Then when I have more time I explain the code.

    
31.08.2017 / 19:56