Javascript onchange 1下拉菜单上的2个函数

Javascript onchange 1下拉菜单上的2个函数,javascript,forms,jquery,drop-down-menu,Javascript,Forms,Jquery,Drop Down Menu,我有两个功能,我想从一个下拉菜单调用。看来我只能让一个工作,但不能同时让两个都工作。正在寻找一些帮助来解决这个问题。这是密码,谢谢 职能1 <script type="text/javascript"> function getCredit(str) { if (str=="") { document.getElementById("credit").innerHTML=""; return; } if (window.XMLHttpRequest) {// code

我有两个功能,我想从一个下拉菜单调用。看来我只能让一个工作,但不能同时让两个都工作。正在寻找一些帮助来解决这个问题。这是密码,谢谢

职能1

<script type="text/javascript">
function getCredit(str)
{
if (str=="")
  {
  document.getElementById("credit").innerHTML="";
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 (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("credit").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getcredit.php?id="+str,true);
xmlhttp.send();
}
window.onload = function() {
document.getElementsByName('company')[0].onchange();
}
</script>

功能getCredit(str)
{
如果(str==“”)
{
document.getElementById(“信用”).innerHTML=“”;
返回;
}
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“credit”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“getcredit.php?id=“+str,true”);
xmlhttp.send();
}
window.onload=函数(){
document.getElementsByName('company')[0].onchange();
}
这里是函数2

<script type="text/javascript">
function getTerms(str)
{
if (str=="")
  {
  document.getElementById("terms").innerHTML="";
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 (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("terms").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","customertermsdropdownquery.php?id="+str,true);
xmlhttp.send();
}
window.onload = function() {
document.getElementsByName('company')[0].onchange();

}

</script>

函数getTerms(str)
{
如果(str==“”)
{
document.getElementById(“条款”).innerHTML=“”;
返回;
}
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“术语”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”,“customermsdropdownquery.php?id=“+str,true”);
xmlhttp.send();
}
window.onload=函数(){
document.getElementsByName('company')[0].onchange();
}
这是调用它们的表单下拉列表

<td><select name="company" onchange="getTerms(this.value);getCredit(this.value);">
<?php while($row = mysql_fetch_array($result)) {
  echo "<option value=\"".$row['company']."\">".$row['company']." (".$row['first']." ".$row['last'].")</option>"; } ?></select></td>

我在表单中使用div来显示php

<div id="terms"></div>
and
<div id="credit"></div>

我可以让任何一个单独工作,只是不能一起工作。谢谢你的帮助。

完全可以理解,你想让他们分开。创建这样一个新函数怎么样

function getTermsAndCredits(value) {
   getTerms(value);
   getCredits(value);
}
然后在onchange事件中这样调用它

<td><select name="company" onchange="getTermsAndCredits(this.value);">


这是一个可以让你有更好想法的例子。我认为没有必要像目前代码中那样调用onload函数。

为什么不将它们打包成一个函数,然后调用它呢?我是个新手,不知道如何调用。我认为将它们分开有助于我更好地理解自己的代码。但是,我并不反对它是否能让这项工作发挥作用。我有点困惑,在这3项中的每一项中使用什么值。好的,我尝试了你在那里写的东西。不过我也遇到了同样的问题,getTerms不起作用,但是getCredits起作用。有时(并非总是)getCredits显示getTerms应该显示的位置。我认为这与我的windows onload在这两个函数中都存在有关。当我删除一个时,它工作,但另一个不工作。@Tom value是传递到
getTermsAndCredits
并随后传递到其他函数的变量的名称。我不确定在onload中调用onchange函数的目的是什么?我将添加一个提琴,以便您可以在加载页面时看到它的操作,我需要立即加载下拉列表的值,而不是等待更改。