javascript 程序停止执行

问题描述 投票:0回答:1

我有一个包类,在开始时给出一个随机 ID,然后可以选择包类型。

看起来,这些值给出是正确的。我可以在packageletter之间单击。但是当第二次调用方法chooseType时,程序在该方法返回值后停止执行。控制台未记录“typeOfPackage”。任何建议将不胜感激。

//Generate PackageId 
let generateID = () => {
  return Math.random().toString(36).slice(2)

}

// choose type of element to be sent
var e = document.getElementById("selectPackageType");
let chooseType = () => {
  var value = e.value;
  return value;
}

const randomID = generateID();
console.log(randomID);

e.onchange = chooseType;
const typeOfPackage = chooseType();

if (typeOfPackage == null) {
  console.log("type of packege is null")
} else {
  console.log(typeOfPackage);
}
<form autocomplete="off">
  <label for="selectPackageType">Type:</label>
  <select id="selectPackageType">
    <option value="1">letter</option>
    <option value="2">package</option>
  </select>
</form>

javascript getelementbyid
1个回答
0
投票
 //Generate PackageId
      let generateID = () => {
        return Math.random().toString(36).slice(2);
      };

      // choose type of element to be sent
      var e = document.getElementById("selectPackageType");
      let chooseType = () => {
        var value = e.value;
        const randomID = generateID();
        console.log(randomID);

        const typeOfPackage = value; // can be remove this extra variable by using value direct itself

        if (typeOfPackage == null) {
          console.log("type of packege is null");
        } else {
          console.log(typeOfPackage);
        }
        return value;
      };

      e.onchange = chooseType;`enter code here`
© www.soinside.com 2019 - 2024. All rights reserved.