JavaScript 变量未通过 getElementById() 获取 id 的值

标签 javascript html ajax

这是 html:

<form>
      <input type="text" id="text1" required>
      <button type="submit" onclick="checkBen()">Add</button>
      <small id="beneficialAlear"></small>
 </form>

还有 JavaScript:

function checkBen(){
            var str = document.getElementById("text1").innerHTML.value;
            if(str != null){
                var xmlhttp = new XMLHttpRequest();
                xmlhttp.onreadystatechange = function() {
                    if (this.readyState == 4 && this.status == 200) {
                        document.getElementById("beneficialAlear").innerHTML = this.responseText;
                    }
                };

                alert(str);
                xmlhttp.open("GET", "../getFromAJAX.php?q=benUsername&str=" + str, true);
                xmlhttp.send();
            }
        }

即使我输入一些内容,变量str也会变为null,因此永远不会进入ajax。 :( 是代码有问题还是什么问题?任何形式的帮助将不胜感激,谢谢。

最佳答案

您不应该说 document.getElementById("text1").innerHTML.value;,因为该元素没有 innerHTML。您需要 document.getElementById('text1').value

例如:

function checkBen() {
    var str = document.getElementById("text1").value;
    // ... your code ..., E.G.:
    alert(str);
}
<form>
      <input type="text" id="text1" required>
      <button type="submit" onclick="checkBen()">Add</button>
      <small id="beneficialAlear"></small>
 </form>

关于JavaScript 变量未通过 getElementById() 获取 id 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45869208/

相关文章:

c# - TagBuilder 不跨 ajax 请求生成唯一的 id 属性值

javascript - 模拟点击之前

javascript - 将多个 javascript var 合并到一个函数中

javascript - 如何将不同模块的两个图表放在同一页面上?

html - 使用 CSS3 在现有正方形中添加半透明正方形,无需额外的 DIV

javascript - Backbone js按钮单击事件未触发

javascript - Jquery不能使用3个选择器

javascript - 元素样式在代码中更新和视觉上更新之间是否存在延迟? (JS)

javascript - 打开新的 html 页面而不是当前页面(Ajax.JQuery)

javascript - 如何从异步调用返回响应?