如何获取用户's输入并返回我定义的匹配变量的值
How do I take a user's input and return the value of a matching variable I have defined?
- 用户输入三个字母的代码
- 函数查找具有相同三个字母代码的变量
- 如果分配给该变量的数字>1020,则提醒"是"
var form = document.getElementById("airportForm")
var input = document.getElementById("airport")
//user input from form
var airport = {
lax : 12091,
jfk : 14511,
ewr : 11000,
lga : 7003,
phl : 10506,
dca : 7169,
iad : 11500,
bos : 10083,
btv : 8320,
mht : 9250,
pwm : 7200,
npt : 2999,
hpn : 6549,
bdl : 9510,
bwi : 10502,
pit : 11500,
ord: 13001,
mdw : 6522,
ind : 11200,
lax : 12091,
sfo : 11870,
san : 9401,
las : 14510,
sea : 11901,
dfw : 13401,
aus : 12248,
atl : 11890,
pbi : 10008,
mco : 12005,
lhr : 12799,
lgw : 10364,
man : 10000,
lcy : 4948,
dub : 8652,
snn : 10495,
cdg : 13829,
ory : 11975,
mad : 14272,
bcn : 11654,
opo : 11417,
lis : 12484,
dxb : 13123,
auh : 13451,
dwc : 14764,
jed : 12467,
ruh : 13796,
kwi : 11483,
ebl : 13891,
sda : 13123,
tlv : 11998,
amm : 12008,
cai : 13120,
jnb : 14495,
cpt : 10502,
dkr : 11450,
cmn : 12205,
rak : 10171,
mem : 11120,
dme : 12448,
svo : 12139,
aua : 8999,
hav : 13123,
hkg : 12467,
pvg : 13123,
pek : 14764,
bkk : 13123,
cgk : 12008,
sin1 : 13123, //CANNOT USE SIN...
can : 12467,
syd : 12999,
mel : 11998,
bne : 11680,
per : 11299,
akl : 11926,
nrt : 13123,
hnd : 9839,
tas : 13123,
rix : 8366,
ham : 12028,
osl : 11811,
cph : 11811,
hel : 11286,
arn : 10830,
kef : 10056
}
//Uses user input to get relevant value from airport object
var airportNumber = (airport[input]);
function capable() {
input.toLowerCase;
alert(airportNumber)
if (airportNumber >= 10200) {
alert("YES")
}
else {
alert("NO")
}
}
<form id="airportForm" action="form_action.asp">
Airport:
<input id="airport" type="text" name="airport">
</form>
<button onclick="capable()">Submit</button>
看起来一切都在工作,但在函数capable()中,当它提醒airportNumber时,它会提醒"未定义"
在用户的输入和我的变量列表之间显然有一个缺失的连接。有人知道我做错了什么吗?
这是因为你只在页面加载时读取airportNumber
和input
,但你需要在每次输入时加载它,所以我把它放在了功能强大的函数之上:
var form = document.getElementById("airportForm")
//user input from form
var airports = {
lax: 12091,
jfk: 14511,
ewr: 11000,
lga: 7003,
phl: 10506,
dca: 7169,
iad: 11500,
bos: 10083,
btv: 8320,
mht: 9250,
pwm: 7200,
npt: 2999,
hpn: 6549,
bdl: 9510,
bwi: 10502,
pit: 11500,
ord: 13001,
mdw: 6522,
ind: 11200,
lax: 12091,
sfo: 11870,
san: 9401,
las: 14510,
sea: 11901,
dfw: 13401,
aus: 12248,
atl: 11890,
pbi: 10008,
mco: 12005,
lhr: 12799,
lgw: 10364,
man: 10000,
lcy: 4948,
dub: 8652,
snn: 10495,
cdg: 13829,
ory: 11975,
mad: 14272,
bcn: 11654,
opo: 11417,
lis: 12484,
dxb: 13123,
auh: 13451,
dwc: 14764,
jed: 12467,
ruh: 13796,
kwi: 11483,
ebl: 13891,
sda: 13123,
tlv: 11998,
amm: 12008,
cai: 13120,
jnb: 14495,
cpt: 10502,
dkr: 11450,
cmn: 12205,
rak: 10171,
mem: 11120,
dme: 12448,
svo: 12139,
aua: 8999,
hav: 13123,
hkg: 12467,
pvg: 13123,
pek: 14764,
bkk: 13123,
cgk: 12008,
sin1: 13123, //CANNOT USE SIN...
can: 12467,
syd: 12999,
mel: 11998,
bne: 11680,
per: 11299,
akl: 11926,
nrt: 13123,
hnd: 9839,
tas: 13123,
rix: 8366,
ham: 12028,
osl: 11811,
cph: 11811,
hel: 11286,
arn: 10830,
kef: 10056
}
//Uses user input to get relevant value from airport object
function capable() {
var input = document.getElementById("airport").value;
var airportNumber = (airports[input]);
alert(airportNumber)
if (airportNumber >= 10200) {
alert("YES")
} else {
alert("NO")
}
}
<form id="airportForm" action="form_action.asp">
Airport:
<input id="airport" type="text" name="airport">
</form>
<button onclick="capable()">Submit</button>
有几个问题
1) 点击按钮,您没有得到更新的机场代码
2) input
变量是html控件和机场代码本身。你必须使用ìnput.value
function capable() {
var input = document.getElementById("input");
var airportNumber = airports[input.value]; // get user airport code
input.toLowerCase;
alert(airportNumber)
if (airportNumber >= 10200) {
alert("YES")
}
else {
alert("NO")
}
}
BTW:没有必要像在第二行那样对input
进行全局加载,我将该逻辑移到了capable
方法
相关文章:
- 控制台返回var不是't定义,但它是
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 这.SOMETHING 总是返回未定义的 - extjs
- React+Meteor:this.ops返回未定义
- "日期“;AJAX请求返回的类型值未定义
- Regex提取URL返回数组的一部分;未定义”;
- 换行符拆分返回“”;未定义”;
- 解析-为什么user.getSessionToken()返回未定义的结果
- Javascript函数返回未定义
- 函数jquery的未定义返回
- 定义返回'未定义'
- winJS 从函数未定义返回 var
- $.get jquery 中的未定义返回
- 如何自定义返回的 jQuery UI 自动完成列表
- Javascript 函数未定义返回
- 数据 ID 一直未定义返回
- 函数调用Javascritpt的未定义返回值
- DataTables ajax-定义返回的行数
- 在函数中提示未定义返回.(问题)范围
- JSON字符串的未定义返回