【问题标题】:Javascript Input CheckerJavascript 输入检查器
【发布时间】:2020-10-13 16:01:35
【问题描述】:

我有一个使用 Javascript 的名称输入检查器,但我正在努力解决这个问题。输入输入并与数组匹配后,站点应返回 ("Welcome" . inputValue) 作为警报。但是,我收到警报,但它只显示“未定义”。如果人员输入的名称不正确(与数组不匹配),它会按原意反馈“用户不知道”。所以唯一的问题是当输入值与数组匹配时,它会给出“未定义”的结果。

var x = ["Bob", "James", "Alan", "Emilie", "Donna", "Ashleigh", "Arthur", "John"];


function checkInput() {

  var inputValue = document.getElementById("inputString").value;

  var test = x.indexOf(inputValue);

  if (test >= 0)
    alert("Welcome ".inputValue);

  else
    alert("User not known");

}
<form>
  <input type="text" id="inputString">

  <button onclick="checkInput()">Evaluate input</button>
</form>

【问题讨论】:

  • JavaScript 不是 PHP;字符串连接是 + 运算符,而不是句点 (.)。

标签: javascript arrays function input alert


【解决方案1】:

alert函数匹配时的消息格式无效。

需要"Welcome " + inputValue 而不是"Welcome ".inputValue。 在 javascript 上,要连接字符串,使用 + 运算符。

var x = ["Bob", "James", "Alan", "Emilie", "Donna", "Ashleigh", "Arthur", "John"];

function checkInput(event) {
  var inputValue = document.getElementById("inputString").value;
  var test = x.indexOf(inputValue);
  if (test >= 0)
    alert("Welcome " + inputValue);
  else
    alert("User not known");
}
<form>
  <input type="text" id="inputString">

  <button onclick="checkInput(event)">Evaluate input</button>
</form>

【讨论】:

  • 只是为了记录,"Welcome ".inputValue 在语法上是有效的:它正在读取字符串对象"Welcome " 上的属性inputValue,它 未定义的(因此没有错误是被抛出,但undefined 被警告)。
猜你喜欢
  • 1970-01-01
  • 2011-11-04
  • 2018-02-16
  • 2017-07-19
  • 1970-01-01
  • 2019-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多