2017-08-24 1 views
0

Hier ist der html:JavaScript-Variable nicht den Wert einer ID von getElementById bekommen()

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

Und die 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(); 
      } 
     } 

Die Variable str null wird, auch wenn ich Eingang etwas und so geht das nie zum Ajax. :( Gibt es ein Problem in dem Code oder etwas anykind Hilfe würde geschätzt, dank

+3

'innerHTML' ist eine Zeichenfolge. Strings haben keine' value' Eigenschaft. – SLaks

+1

Es sollte 'var str = docum ent.getElementById ("text1"). value; '. – jdgregson

+0

Lassen Sie '.innerHTML':' document.getElementById ("text1"). Value; ' – Barmar

Antwort

1

Sie sollten nicht document.getElementById("text1").innerHTML.value; sagen, wenn das Element nicht innerHTML hat Sie document.getElementById('text1').value wollen

EG?...:

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>

+0

Dies wurde mehrmals in den Kommentaren beantwortet. Sie müssen nicht in einer vollständigen Antwort dupliziert werden. – Andy