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

时间:2017-08-24 19:06:04

标签: 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 即使输入内容也会变为空,因此永远不会转到ajax。 :( 代码中有问题吗?感谢Anykind的帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

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

E.G:

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>