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

<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,并且在页面加载时仅设置了一次。

您必须使用godine捕获document.getElementById输入,并且每个函数调用都必须包含它的值。

该功能与button“ Pokreni程序”绑定。每次单击按钮,您将执行该功能。该函数将从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/

10-12 07:24