首页 > 解决方案 > 如何将输入的 id 和值都传递给 HTML 中的 JS 函数?

问题描述

我努力解决这个问题,但我不是 JS 程序员,所以我还没有成功。我需要在我的 HTML 中编写正确的代码来将输入的 id 和值传递给 JS 函数。这是我的 JS 代码:

    <script>
    function live_update(id,str) {
      if (str.length==0) { 
        document.getElementById("live_update").innerHTML="";
        document.getElementById("live_update").style.border="0px";
        document.getElementById("live_update").style.display="none";
        return;
      }
      if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
      } else {  // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange=function() {
        if (this.readyState==4 && this.status==200) {
          document.getElementById("live_update").innerHTML=this.responseText;
          document.getElementById("live_update").style.class="bg-light";
          document.getElementById("live_update").style.display="block";
        }
      }
      xmlhttp.open("GET","profiles.php?act=live_update&u_key={u_key}&id="+id+"&q="+str,true);
      xmlhttp.send();
    }
</script>

这是我的 HTML 代码

<input type="text" onfocusout="live_update(document.getElementById('{id}').value,document.getElementById('quantity').value)" name="quantity[]" id="9" value="{quantity}" class="sm-input-40"/>

标签: javascriptphphtmljquery

解决方案


查看您的代码后,我看到您使用{id}. 我不知道那是什么,但有一种不同的方法。代替{id},实际上代替整个document.getElementById,您可以只传入this,这将被视为代码正在调用的元素的元素。另外,我在这里看到你犯了一个小错误。

document.getElementById("live_update").innerHTML=this.responseText;
document.getElementById("live_update").style.class="bg-light";      // Here
document.getElementById("live_update").style.display="block";

你不能用风格改变班级。你必须使用classList. 将其更改为: document.getElementById("live_update").classList.add("bg-light");

希望我能帮助你解决你的问题:)


推荐阅读