为什么我无法在我的javascript代码中获得输入值
我无法获取所选Id的值。为什么我无法在我的javascript代码中获得输入值
这里的HTML和JavaScript
<!DOCTYPE html> <html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input id="input">
<button id="button" type="button" name="button">Search</button>
<script>
const der = document.getElementById('input').value;
document.getElementById('button').addEventListener('click',
function() {
alert(der);
});
</script>
</body>
</html>
我测试的铬,歌剧和Firefox。没有用。我也使用var
而不是const
,那也不工作。
我想获得所选Id的输入值。我真的看不到代码中的任何问题
回答:
您需要分配移动到der
到单击处理程序。目前,der
正在加载页面时进行评估,而不是单击按钮时。
document.getElementById('button').addEventListener('click', function(){
const der = document.getElementById('input').value;
alert(der);
});
回答:
const der = document.getElementById('input').value;
这是你的问题。 在写入任何内容之前,您将获得输入字段的值。 试着做这样的:
document.getElementById('button').addEventListener('click', function() {
const der = document.getElementById('input').value;
alert(der);
});
回答:
der
在代码第一次运行时设置,并给出空值。点击按钮时重置它。
<!DOCTYPE html> <html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input id="input">
<button id="button" type="button" name="button">Search</button>
<script>
document.getElementById('button').addEventListener('click',
function() {
const der = document.getElementById('input').value;
alert(der);
});
</script>
</body>
</html>
回答:
你的问题是,你的代码立即运行在页面加载。由于它在页面加载时为空,变量为空(您可以通过在控制台中输入der
来验证该变量,它不是错误,而不是值)。
您可以通过将变量赋值信息移到该函数来修复它,以便检查何时准备就绪。
回答:
你的脚本不起作用,因为你在之前从输入字段得到的值被填写,然后在点击按钮时而不是当前值时提醒该值。
解决的办法是,当你点击按钮来移动得到值到被调用的回调函数行:
<!DOCTYPE html> <html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input id="input">
<button id="button" type="button" name="button">Search</button>
<script>
document.getElementById('button').addEventListener('click',
function() {
const der = document.getElementById('input').value;
alert(der);
});
</script>
</body>
</html>
回答:
试试这个代码
<!DOCTYPE html> <html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input id="input" type="text">
<button id="button" type="button" name="button">Search</button>
<script>
document.getElementById('button').addEventListener('click',
function() {
alert(document.getElementById('input').value);
});
</script>
</body>
</html>
回答:
在与表单输入发生任何交互之前,您的代码在脚本执行后立即存储输入的值。一种解决方案可能是在您的const der
中存储对输入的引用,然后在您的点击事件中调用der.value
。
<!DOCTYPE html> <html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input id="input">
<button id="button" type="button" name="button">Search</button>
<script>
const der = document.getElementById('input');
document.getElementById('button').addEventListener('click',
function() {
alert(der.value);
});
</script>
</body>
</html>
回答:
当与DOM的工作,你想从输入字段中获得价值。按钮只是您捕捉事件的方式。这就是我们使用事件监听器的原因。一旦事件被触发,程序知道根据你告诉它检索的值来检索值。
所以,你应该重写你的情况是这样的:
document.getElementById('button').addEventListener('click', function() {
let der = document.getElementById('input').value;
//Now you can call some async code here to "play" with this value
});
注:我用let
,因为我看不到使用const
如果该值将根据用户的输入更改的原因。
以上是 为什么我无法在我的javascript代码中获得输入值 的全部内容, 来源链接: utcz.com/qa/257572.html