提问人:Parth mane 提问时间:4/12/2023 最后编辑:Parth mane 更新时间:4/12/2023 访问量:40
无法从用户那里获取数字并将其作为参数传递到 JavaScript 切片方法中
unable to get number from user and pass it as a parameter in javascript slice method
问:
我正在制作一个小应用程序,它显示了如何使用不同的方法在 javascript 中操作字符串,我正在尝试获取数字作为输入并将该数字作为参数传递以切分字符串,但它不起作用,因为我无法从用户那里获取数字。我尝试在控制台中打印该数字,但它显示一个空行
这是我的,可以帮助您了解我在哪里犯了错误 HTML 代码
<input type="number" placeholder="number" class="number1">
<input type="number" placeholder="number" class="number2">
<button class="sliced">slice</button>
<h1 id="displaytext"></h1>
Javascript 代码
let message = document.querySelector("#displaytext")
let slicedButton = document.querySelector(".sliced")
let number1 = document.querySelector(".number1").value
let number2 =document.querySelector(".number2").value
slicedButton.addEventListener("click", ()=>{
console.log(number1,number2)
message.innerHTML = userInput.value.slice(number1, number2)
})
答:
0赞
YouBee
4/12/2023
#1
尝试获取回调函数中的值。
let message = document.querySelector("#displaytext")
let slicedButton = document.querySelector(".sliced")
slicedButton.addEventListener("click", ()=>{
let number1 = document.querySelector(".number1").value
let number2 =document.querySelector(".number2").value
console.log(number1,number2)
//message.innerHTML = userInput.value.slice(number1, number2)
})
评论
0赞
Parth mane
4/12/2023
实际上我找到了答案,而不是直接将 number 1 = document.querySelector(“.number1”).value 保存在变量中,我保存了它而没有 .value,并且在给 slice 方法提供参数时我传递了 slice(number1.value, number2.value)
0赞
Egge
4/12/2023
#2
您的 Javascript 代码会在页面加载后立即执行,这就是立即为 number1 和 number2 分配 “” 的原因。将获取输入值的逻辑移动到侦听器中,以接收最新值:
let message = document.querySelector("#displaytext")
let slicedButton = document.querySelector(".sliced")
slicedButton.addEventListener("click", ()=>{
let number1 = document.querySelector(".number1").value
let number2 =document.querySelector(".number2").value
console.log(number1,number2)
message.innerHTML = userInput.value.slice(number1, number2)
})
但是,这仍然会抛出,因为 uerInput 未定义
评论
userInput
14555
2
value
读取变量只是字符串,它们不与输入的实际值相关联。您必须从侦听器中的输入中读取值。number1
number2
load