如何获得一个java-script函数的返回值,该变量在keyup上调用

How to get the return value of a java-script function to a variable which is called on keyup

本文关键字:返回值 变量 调用 keyup 函数 何获得 java-script 一个      更新时间:2023-09-26

我对javascript真的很陌生。我试图为我的项目创建一个自动加载文本框。我想获得一个javascript函数的返回值到一个变量,当函数在keyup事件上被调用。我怎么能做到呢?

   <input id="autocomplete" onkeyup="myFunction()"> 
    <script>
    var abc = "";    
    function myFunction() {
      var keywordx = document.getElementById("autocomplete").value;
      abc = keywordx;
    }

      console.log(abc);// abc should have the typed values in the 
    </ script>

**EDITED    

试试这个:

<input id="autocomplete" onkeyup="myFunction()" onchange="showIt()"> 
function showIt() {
    console.log(abc);
}

在尝试使用abc之前,等待您完成编辑字段。

试试这个代码

<input id="autocomplete" onkeyup="myFunction()">
<input type='button' id='temp' onclick='getText()' value='Get Text'>
<script>
    var abc = "";
    function myFunction() {
        var keywordx = document.getElementById("autocomplete").value;
        abc = keywordx;
    }
    function getText() {
        console.log(abc);
    }
</script>

下面的代码应该可以解决您的问题。不需要在函数外部创建变量。只需通过传递一个变量作为值并使用每个onkeyup事件重置它来保持简单。

function myFunction() {
    var x = document.getElementById("autocompleted").value;
    console.log(x)
}

更优雅的解决方案是这样的

var autocomplete = document.querySelector('#autocomplete');
autocomplete.onkeyup = function(e) {
  alert(e.target.value);
  //e.target.value is value of input
  //console.log or use it
}
<input id="autocomplete">

我建议使用隐藏字段而不是全局变量。

您可以使用jQuery

实现相同的功能
<input id="autocomplete" onkeyup="myFunction()"> 
<input type="hidden" id="someFlag" />
<script>
    $('#autocomplete').keyup(function () {
        $('#someFlag').val($('#autocomplete').val());
        console.log($('#someFlag').val());
    })
</script>