我正在尝试从数字文本框中检索值,但无法获取输入的值。
var doc_repo = "TEST"
alert(doc_repo)
<input type="number" id="sqlentry" name="repository">
这将返回TEST
我在字段中输入数字,但是当我单击按钮获取值时,我什么也没得到。
var doc_repo = document.getElementById("sqlEntry").value;
alert(doc_repo)
<input type="number" id="sqlentry" name="repository">
我希望得到一个显示的数字,但我什么也没得到。
答案 0 :(得分:1)
您遇到的一些错误:
sqlentry
而不是sqlEntry
,因为getElementById
方法的选择器区分大小写。button
,您会如果要在单击按钮后获取值,则需要一个单击事件侦听器(附加到button
上)。这是一个演示:
/**
* @const doc_repo the input element.
* @const btn the button on which you click to get the input's value.
**/
const doc_repo = document.getElementById("sqlentry"),
btn = document.getElementById("btn");
/** attach click event listener to the button **/
btn.addEventListener('click', () => console.log(doc_repo.value)); /** log the value **/
/** you could use "alert" method instead of "console.log", I didn't use it to maintain a better user experience on this SO page **/
<input type="number" id="sqlentry" name="repository" />
<button id="btn">get value</button>
这可以解决问题,但是如果input
为空,则会得到空结果!要绕过这一点,我们可以检查input
是否具有值,否则我们将打印0
。
const doc_repo = document.getElementById("sqlentry"),
btn = document.getElementById("btn");
btn.addEventListener('click', () => console.log(doc_repo.value || 0));
/**
* the "||" operator returns the left operand if it's true otherwise it returns the right operand
* as empty string is falsy the "||" operator returns 0 when the input is empty.
**/
<input type="number" id="sqlentry" name="repository" />
<button id="btn">get value</button>
答案 1 :(得分:0)
注意大小写
var doc_repo = document.getElementById("sqlentry").value;
alert(doc_repo)