javascript - 变量和 IF/ELSE 语句

标签 javascript if-statement

我正在尝试构建一个应用程序,该应用程序会提醒用户全名和年龄类别,包括年轻、平均和老年,但无论我输入哪个年龄,它都会显示“您属于年轻类别”。请告诉我我的代码有什么问题。这是:

<script type="text/javascript"> 
    var godine = 25;
    var starost;
    if (godine < 30) {
        starost = " Vi pripadate u kategoriju mladih.";
    }
    if ((godine >= 30) && (godine < 70)) {
        starost = " Vi pripadate u kategoriju srednje starih.";
    }
    if (godine > 70) {
        starost = " Vi pripadate u kategoriju starih";
    }

    </script>
    <h1>Dobro dosli na kategorisanje starosti</h1>
    <form action="" name="frmLogin" onsubmit="alert('Korisnice: ' + ' ' + document.frmLogin.txtIme.value + ' ' + document.frmLogin.txtPrezime.value + document.frmLogin.txtStarost.value + starost)">
        Korisnicko ime: <input type="text" name="txtIme"/>
        <br>
        Korisnicko prezime: <input type="text" name="txtPrezime">
        <br>
        Godine: <input type="text" name="txtStarost">
        <br>
        <input type="submit" value="Pokreni program">
    </form>

最佳答案

默认情况下,您将 godine 值设置为 25,并且在页面加载时仅设置一次

您必须使用 document.getElementById 捕获 godine 输入及其每次函数调用的值。

该功能与“Pokreni 程序”按钮绑定(bind)。每次单击按钮,您都会执行该功能。该函数将从 godine 输入加载新值,starost 值将被重置,结果将基于其值。

function check() {

  var godine = document.getElementById('godine').value;
  var starost;
  
  if (godine < 30) {
    starost = "Vi pripadate u kategoriju mladih.";
  } else if (godine >= 30 && godine < 70) {
    starost = "Vi pripadate u kategoriju srednje starih.";
  } else if (godine > 70) {
    starost = "Vi pripadate u kategoriju starih";
  }
  console.log(starost);
}
<h1>Dobro dosli na kategorisanje starosti</h1>
<form action="" name="frmLogin" onsubmit="alert('Korisnice: ' + ' ' + document.frmLogin.txtIme.value + ' ' + document.frmLogin.txtPrezime.value + document.frmLogin.txtStarost.value + starost)">
  Korisnicko ime: <input type="text" name="txtIme" />
  <br> Korisnicko prezime: <input type="text" name="txtPrezime">
  <br> Godine: <input type="text" name="txtStarost" id='godine'>
  <br>
  <button type="submit" onclick='check()'>Pokreni program</button>
</form>

如果您仅使用一个 html 文件:

<html>
<head></head>
<body>

<h1>Dobro dosli na kategorisanje starosti</h1>
<form action="" name="frmLogin" onsubmit="alert('Korisnice: ' + ' ' + document.frmLogin.txtIme.value + ' ' + document.frmLogin.txtPrezime.value + document.frmLogin.txtStarost.value + starost)">
  Korisnicko ime: <input type="text" name="txtIme" />
  <br> Korisnicko prezime: <input type="text" name="txtPrezime">
  <br> Godine: <input type="text" name="txtStarost" id='godine'>
  <br>
  <button type="submit" onclick='check()'>Pokreni program</button>
</form>

<script>
function check() {

  var godine = document.getElementById('godine').value;
  var starost;
  
  if (godine < 30) {
    starost = "Vi pripadate u kategoriju mladih.";
  } else if (godine >= 30 && godine < 70) {
    starost = "Vi pripadate u kategoriju srednje starih.";
  } else if (godine > 70) {
    starost = "Vi pripadate u kategoriju starih";
  }
  console.log(starost);
  
}
</script>
</body>
</html>

关于javascript - 变量和 IF/ELSE 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42469314/

相关文章:

javascript - 两个动态生成的 Bootstrap Accordion 相互冲突

javascript - Safari 在自动填写信用卡信息时崩溃

java - 为什么我的程序跳过 if 语句?

if-statement - 带 then 子句的 If 语句 (LISP)

if-statement - 为什么一个变量与多个值的不相等检查总是返回 true?

javascript - 如何在函数中使用 javascript 正则表达式反向引用?

javascript - ForceX 使用 DOM 元素作为坐标引用

python - 根据 python 中的用户输入更新多个变量之一

javascript - vue.js 中的多个条件

javascript - 为什么这个论点不起作用呢?