首先,我尝试将输入值设置为变量
window.onload = function() {
let inputValue = document.getElementById("myInput").value;
return inputValue;
};
然后,我想通过API调用来输入输入字段的值:
function getPost(inputValue) {
return fetch("https://rel.ink/api/links/", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
url: inputValue
})
}).then(res => res.json());
}
function tinyURL() {
getPost()
.then(data => {
console.log("Success:", data);
})
.catch(error => {
console.error("Error:", error);
});
}
function addEventListener() {
document.getElementById("postBtn").addEventListener("click", tinyURL);
}
但是,由于console.log输出为:,该值未通过:
url: Array(1)
0: "This field is required."
length: 1
API调用成功,但是输入值出了点问题。我在做什么错?
元素的初始值,这可能是您不希望的。
您应该在全局范围内声明变量,并在input事件上更新变量:更改:
window.onload = function() {
let inputValue = document.getElementById("myInput").value;
return inputValue;
};
收件人:
let inputValue;
document.getElementById("myInput").addEventListener('input', function()
inputValue = this.value;
});
OR:
您可以直接设置当前值
body: JSON.stringify({
url: document.getElementById("myInput").value
})