Javascript 未捕获引用错误:未定义y(var)

Javascript 未捕获引用错误:未定义y(var),javascript,html,Javascript,Html,这是一个很快就能解决的问题,我想和大家分享一下。。我不知道为什么。。但是Chrome和Opera——我还没有在Firefox上测试过——只是不想假设我的var(y)的值,而且在Edge和Explorer上也没有 代码的目标取决于选项选择变量y获得不同的值,从而获得变量Uf 我一周前开始学习JavaScript。。所以我真的很抱歉打扰你们大家!:) 函数uf(x){ 如果(x==null){y=1;} 如果(x==1){y=1200;} 如果(x==2){y=1550;} 如果(x==3){y=

这是一个很快就能解决的问题,我想和大家分享一下。。我不知道为什么。。但是Chrome和Opera——我还没有在Firefox上测试过——只是不想假设我的var(y)的值,而且在Edge和Explorer上也没有

代码的目标取决于选项选择变量y获得不同的值,从而获得变量Uf

我一周前开始学习JavaScript。。所以我真的很抱歉打扰你们大家!:)

函数uf(x){
如果(x==null){y=1;}
如果(x==1){y=1200;}
如果(x==2){y=1550;}
如果(x==3){y=1500;}
如果(x==4){y=1550;}
var Uf=y;
}

超滤
RS
RJ
服务提供商
镁
我最终做了以下工作:


HTML

谢谢你们的帮助

您不能在
上使用事件。某些浏览器不支持它们。在
上使用
onchange
,但该函数不会失去其用途?在所有if语句之外定义
y
y
是if语句内部的作用域变量,您试图在外部使用它。例如:
函数uf(x){let y=0;if(x==null){y=1;}..
@Kavindra OP实际上使用
y
作为全局变量,因为没有
var y
。这在严格模式下不起作用,但
y
绝对不适用于
if
statement@L.Bravo错误消息与标记不匹配。您没有
HTMLInputElement
实例。您的函数也很脆弱;为什么不把y值作为参数传入呢,例如
uf(1)
uf(1200)
,等等?尝试使用value-onchange而不是onclik,因为select基本上使用的是onchange,所以每次都要验证值……然后使用onchange获取值,这样就可以从每次更改中获取值select//mys.onchange=function(){}类似于为select
var x=document.getElementById(“selectID”)
创建一个var,然后为它创建一个函数
x.onchange=function()
其中
if(x.value==“null”){y=1}
Uf=y
function uf(x){   
var y;
if ( x == null) { y = 1;}
if ( x == 1 ) { y = 1200; }
if ( x == 2 ) { y = 1550; }
if ( x == 3 ) { y = 1500; }
if ( x == 4 ) { y = 1550; }

var Uf = y;
}
   <div>
      <select id="selection" required>
        <option value="value1">UF</option>
        <option value="value2">RS</option>
        <option value="value3">RJ</option>
        <option value="value4">SP</option>
        <option value="value5">MG</option>
      </select>
    </div>
var y = document.getElementById("selection").value;

var Uf = y;