【问题标题】:How to dynamically use a form in javascript code如何在javascript代码中动态使用表单
【发布时间】:2020-04-28 00:46:16
【问题描述】:

我想知道如何使用我在表单中输入的动态结果调用函数!我设法将这个值转换为要使用的值,但是当我按下按钮时它不会改变并且静态保持在 0(好像我没有输入任何内容)

HTML:

<div id="bloco">
      <h1>QUAL É SUA CATEGORIA NO UFC</h1>
      <p id="resultPound">Coloque seu peso e vamos transformar em libras para descobrir em que categoria do UFC você lutaria!</p>
      <form> <input type="text" id="fname" name="fname" placeholder="digite seu peso"><br></form>
      <button>Confirmar</button>
      <script src="script.js"></script>
   </div>

Javascript:

var teste = document.getElementById("fname").value;  
function kilostoPounds(teste) { return ((teste * 2.2046).toFixed()) }
const finalPound = kilostoPounds(teste);


switch (true) {
    case finalPound <= 123:
        document.getElementById("resultPound").innerHTML = `Você seria da categoria <b>Peso Mosca</b>, pois você tem o que equivale a ${finalPound}lb`;
        break;
    case finalPound <= 135:
        document.getElementById("resultPound").innerHTML = `Você seria da categoria <b>Peso Galo</b>, pois você tem o que equivale a ${finalPound}lb`;
        break;
    case finalPound <= 145:
        document.getElementById("resultPound").innerHTML = `Você seria da categoria <b>Peso Pena</b>, pois você tem o que equivale a ${finalPound}lb`;
        break;
    case finalPound <= 155:
        document.getElementById("resultPound").innerHTML = `Você seria da categoria <b>Peso Leve</b>, pois você tem o que equivale a ${finalPound}lb`;
        break;
    case finalPound <= 171:
        document.getElementById("resultPound").innerHTML = `Você seria da categoria <b>Peso Meio Medio</b>, pois você tem o que equivale a ${finalPound}lb`;
        break;
    case finalPound <= 185:
        document.getElementById("resultPound").innerHTML = `Você seria da categoria <b>Peso Medio</b>, pois você tem o que equivale a ${finalPound}lb`;
        break;
    case finalPound <= 205:
        document.getElementById("resultPound").innerHTML = `Você seria da categoria <b>Peso Meio Pesado</b>, pois você tem o que equivale a ${finalPound}lb`;
        break;
    case finalPound <= 265:
        document.getElementById("resultPound").innerHTML = `Você seria da categoria <b>Peso Pesado</b>, pois você tem o que equivale a ${finalPound}lb`;
        break;
    default: document.getElementById("resultPound").innerHTML = "Digite um peso correto";
}

请注意,例如,如果我输入 75,它将给出结果,如果我输入 91,它将显示其他内容

【问题讨论】:

  • 开关需要在你的方法中。它不只是继续运行。它运行一次并完成。于是onclick按钮,调用一个函数,运行代码
  • 有一个完整的世界供您检查:DOM events.

标签: javascript html forms dom


【解决方案1】:

将您的 JavaScript 代码放在一个函数中,以便稍后调用它

function updateValue() {
    // Your Js code here
}

然后在你的 html 上试试这个

<div id="bloco">
  <h1>QUAL É SUA CATEGORIA NO UFC</h1>
  <p id="resultPound">Coloque seu peso e vamos transformar em libras para descobrir em que categoria do UFC você lutaria!</p>
  <form onsubmit="updateValue()"> 
      <input type="text" id="fname" name="fname" placeholder="digite seu peso">
      <br>
      <button>Confirmar</button>
  </form>
  <script src="script.js"></script>
</div>
  • 您的按钮不在表单内,因此按下按钮不会提交表单
  • 只有在网站首次加载时才会调用 JavaScript。后续表单提交现在会触发新创建的 JavaScript 函数。

【讨论】:

  • 谢谢你成功了!你知道如果我删除了我输入的号码,它会返回到最初的消息吗?因为我在“case finalPound == 0:”的开关函数中设置了一个条件,但它只有在我按下按钮时才有效
  • 是的,这是意料之中的。你也许可以试试这个。取下按钮。并将您的输入标签更改为此。 现在当你输入输入时它会立即改变
猜你喜欢
  • 2019-05-14
  • 1970-01-01
  • 1970-01-01
  • 2011-04-28
  • 1970-01-01
  • 2021-02-17
  • 1970-01-01
  • 1970-01-01
  • 2017-03-11
相关资源
最近更新 更多