获取输入值javascript

获取输入值javascript,javascript,html,ajax,dom,Javascript,Html,Ajax,Dom,我试图在HTML元素中编写一些输入,并使用JS获取输入文本,然后使用AJAX将值发送到另一个文件,但它不起作用,结果只得到null 有什么原因吗 这是我的HTML <button type="button" onclick="loadDoc()">Value</button> <input type="number" class="test" id="test" name="test" value="" style="width:10%" >

我试图在HTML元素中编写一些输入,并使用JS获取输入文本,然后使用AJAX将值发送到另一个文件,但它不起作用,结果只得到null

有什么原因吗

这是我的HTML

<button type="button" onclick="loadDoc()">Value</button>
     <input type="number" class="test" id="test" name="test" value="" style="width:10%" >
     <div id="mostraAttuale"></div>
    </br>
这是我的JS函数

function loadDoc() {
    var value = document.getElementById("test");
    alert(value);
    var url = <?php echo json_encode($test); ?>;
    var email = <?php echo json_encode($mail); ?>;
    var valuereq = new XMLHttpRequest();
    valuereq.open("GET", url+'?email='+email+'&value='+value, true);
    valuereq.send();
    valuereq.status;
    valuereq.onreadystatechange = function () {
        if (valuereq.readyState == 4 && valuereq.status == 200) {
            var return_data = valuereq.responseText;
            document.getElementById("mostraAttuale").innerHTML = "ultimo valore inserito: " + return_data;
        }
        else document.getElementById("mostraAttuale").innerHTML = valuereq.status;
    }
    document.getElementById("test").value="";
}
提前谢谢。

试试这个:

function loadDoc() {
    var value = document.getElementById("test").value;
    alert(value);
    var url = "<?=json_encode($test) ?>";
    var email = "<?=json_encode($mail) ?>";
    var valuereq = new XMLHttpRequest();
    valuereq.open("GET", url+'?email='+email+'&value='+value, true);
    valuereq.send();
    valuereq.status;
    valuereq.onreadystatechange = function () {
      if (valuereq.readyState == 4 && valuereq.status == 200) {
          var return_data = valuereq.responseText;
          document.getElementById("mostraAttuale").innerHTML = "ultimo valore inserito: " + return_data;
      }
      else 
         document.getElementById("mostraAttuale").innerHTML = valuereq.status;
    }
    document.getElementById("test").value="";
}
试试这个:

function loadDoc() {
    var value = document.getElementById("test").value;
    alert(value);
    var url = "<?=json_encode($test) ?>";
    var email = "<?=json_encode($mail) ?>";
    var valuereq = new XMLHttpRequest();
    valuereq.open("GET", url+'?email='+email+'&value='+value, true);
    valuereq.send();
    valuereq.status;
    valuereq.onreadystatechange = function () {
      if (valuereq.readyState == 4 && valuereq.status == 200) {
          var return_data = valuereq.responseText;
          document.getElementById("mostraAttuale").innerHTML = "ultimo valore inserito: " + return_data;
      }
      else 
         document.getElementById("mostraAttuale").innerHTML = valuereq.status;
    }
    document.getElementById("test").value="";
}
行var值=document.getElementByIdtest;不获取值,但获取HTMLInputElement。替换为:

 var value = document.getElementById("test").value;
行var值=document.getElementByIdtest;不获取值,但获取HTMLInputElement。替换为:

 var value = document.getElementById("test").value;

但这还不是全部。他在将php放入js时出错:但这还不是全部。他在将php放入js时出错:我认为应该从url和电子邮件声明中删除双引号,dovar url=;或var url=;但在这两种情况下,您都不应该混合使用php代码和js代码,而是返回字符串,并且不带双引号。输出将是:var url=一些不带引号的字符串…它返回带双引号的字符串,尝试一下,但如果他对数组进行编码,它将不带双引号地返回:非常感谢您的帮助,这就是解决方案。我认为您应该从url和电子邮件声明中删除双引号,执行var url=;或var url=;但在这两种情况下,您都不应该混合使用php代码和js代码,而是返回字符串且不带双引号。输出结果将是:var url=一些不带引号的字符串…它返回带双引号的字符串,请尝试使用,但如果他对数组进行编码,它将不带双引号地返回:非常感谢您的帮助这就是解决方案。