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

时间:2018-01-23 17:04:50

标签: javascript jquery ajax

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

我将粘贴的代码正在工作,并且确实从选择表单中获取de DB的结果,现在我如何设置在页面加载时加载的变量并从DB获取结果,

我依赖3页 1数据库页面一切都很好 2个php页面 3个html页面。在这里有脚本吼叫,我使用Peter Griffin的选择选项他的价值我希望它是可变成员。

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

  <script>

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

的console.log(构件); ** /

  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,而是如何在pageload上告诉它读取变量X和获取结果,在这种情况下“0000004445”是我需要的,变量将是动态的,所以“0000004445”可以成为任何东西。

请帮助!

1 个答案:

答案 0 :(得分:0)

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

function showUser(str) {
  console.log(str);
}

onload = function() {
  showUser(document.querySelector("select[name=users]").value)
}
<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>