如果我将this exactly复制到我的代码中,则表示测试未定义。我已经尝试过这样至少五个页面的代码,它们都会出错。我需要从用户那里获取一个数字并将其分配给我的script.js中的变量,然后才能使用该变量。
答案 0 :(得分:1)
我想我知道你的问题是什么。我已经在fiddle中重新模仿了它。
很可能你的问题是你把这段代码放在头脑中。这会导致函数test()
未定义为任何HTML。相反,您应该将函数包含在正文中的script标记中。所以要进行比较,这将无法正常工作,并且错误 test is undefined :
<html>
<head>
<script>
function test() {
var value = document.getElementById('userInput').value;
alert(value);
}
</script>
</head>
<body>
<input type="text" id="userInput" placeholder="Give me a value">
<button onclick="test();">Submit</button>
</body>
</html>
这将:
<html>
<head>
</head>
<body>
<input type="text" id="userInput" placeholder="Give me a value">
<button onclick="test();">Submit</button>
<script>
function test() {
var value = document.getElementById('userInput').value;
alert(value);
}
</script>
</body>
</html>
在HTML文件和脚本文件中将其分开,它看起来像这样(经过测试和工作):
的test.html:
<html>
<body>
<script src="test.js"></script>
<input type="text" id="userInput" placeholder="Give me a value">
<button onclick="test();">Submit</button>
</body>
</html>
test.js:
function test() {
var value = document.getElementById('userInput').value;
alert(value);
}
答案 1 :(得分:0)
<input type="text" id="txt" />
<button id="sub">submit</button>
<script>
const btn =document.getElementById("sub");
let val;
btn.addEventListener("click",get_val);
function get_val(){
val =
document.getElementById("txt").value;}
//Use it as you want
console.log(val);
</script>