首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将动态变量设置为ajax XMLHttpRequest,而不是从onchange事件获取值

将动态变量设置为ajax XMLHttpRequest,而不是从onchange事件获取值
EN

Stack Overflow用户
提问于 2018-01-24 01:04:50
回答 1查看 61关注 0票数 0

我遇到了一个脚本,我需要修改它,但我不知道如何修改,我需要的是在页面加载时设置它读取的值并丢弃来自数据库的结果。

我将粘贴的代码正在工作,并从选择表单中从数据库中获取结果,现在我如何设置一个变量,该变量在页面加载时加载并从数据库中获取结果?

有3个我所依赖的页面

1个datalyer页面都很好

2 php页面

3html页面。这里有下面的脚本,我对Peter Griffin的值使用了select选项,我希望它是变量成员。

我说onload是因为在第一页,当用户浏览网页时,页面会刷新,然后我会发送新的数据,我需要基于变量的数据库的结果。

代码语言:javascript
运行
复制
  <script>

/** page one  where member is a value that is fetch from a layer
  var member = google_tag_manager["GTM-x"].dataLayer.get('ContractNumber');

Console.log(成员);**/

代码语言:javascript
运行
复制
  function showUser(str) {
  if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
} else { 
    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("txtHint").innerHTML = this.responseText;
            console.log(this.responseText);
        }
    };
    xmlhttp.open("GET","elsewhere.php?q="+str,true);
    console.log(str);
    xmlhttp.send();
}
}
</script>

 <body>


  <select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<option value="variable member">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Joseph Swanson</option>
<option value="4">Glenn Quagmire</option>
</select>

 <br>
 <div id="txtHint"><b>Person info will be listed here...</b></div>

 </body>

正如我之前所说的,这段代码是工作的,但不是使用select来告诉它如何在页面加载读取变量X和fetch result,在这种情况下"0000004445“是我需要的,变量将是动态的,所以"0000004445”可以变成任何东西。

EN

回答 1

Stack Overflow用户

发布于 2018-01-24 01:10:51

您可以在应该检索值的<option>元素处设置selected属性,将load事件附加到window,并在load处理程序中使用document.querySelector("select[name=users]").value作为参数调用showUser()

代码语言:javascript
运行
复制
function showUser(str) {
  console.log(str);
}

onload = function() {
  showUser(document.querySelector("select[name=users]").value)
}
代码语言:javascript
运行
复制
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<option value="0000004445" selected>Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Joseph Swanson</option>
<option value="4">Glenn Quagmire</option>
</select>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48407192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档