通过一个 Onchange 调用两个函数()
Call two function() by one Onchange
im 将使用 Ajax 从数据库中获取一些数据。您能否让我知道通过使用"OnChange"更改指定下拉列表的值来触发两个函数() 的方法
注意:大多数时候系统只显示 showhistory() 函数输出
我现有的代码
..................
<select name="po_no" onchange="showsize(this.value);showhistory(this.value);">
.......
<script>
function showhistory(str)
{if (str=="")
{
document.getElementById("txtHistory").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("txtHistory").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","gethistory2.php?s="+str,true);
xmlhttp.send();
}
</script>
<script>
function showsize(str)
{
if (str=="")
{
document.getElementById("sizeHint1").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{
xmlhttp1=new XMLHttpRequest();
}
else
{
xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp1.onreadystatechange=function()
{
if (xmlhttp1.readyState==4 && xmlhttp.status==200)
{
document.getElementById("sizeHint1").innerHTML=xmlhttp1.responseText;
}
}
xmlhttp1.open("GET","getsize5.php?q="+str,true);
xmlhttp1.send();
}
</script>
通过重新分配方法 showHistory(),您将覆盖 onChange 的第一个值 (showSize())。为了避免这种情况,请将其包装成一个函数,该函数调用这两个调用,如下所示:
函数 showAll(strValue) {
showAll(strValue);
showSize(strValue);
}
最后调用如下所示:
<select name="po_no" onchange="showAll(this.value);">
在第一个函数成功时调用第二个函数
<select name="po_no" onchange="showhistory(this.value);">
<script>
function showhistory(str)
{if (str=="")
{
document.getElementById("txtHistory").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("txtHistory").innerHTML=xmlhttp.responseText;
showsize(str);
}
}
xmlhttp.open("GET","gethistory2.php?s="+str,true);
xmlhttp.send();
}
function showsize(str)
{
if (str=="")
{
document.getElementById("sizeHint1").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{
xmlhttp1=new XMLHttpRequest();
}
else
{
xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp1.onreadystatechange=function()
{
if (xmlhttp1.readyState==4 && xmlhttp.status==200)
{
document.getElementById("sizeHint1").innerHTML=xmlhttp1.responseText;
}
}
xmlhttp1.open("GET","getsize5.php?q="+str,true);
xmlhttp1.send();
}
</script>
相关文章:
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- 如何调用两个函数是一种html输入类型
- 为什么这两个JavaScript函数调用具有相同的“;这个“;价值
- 为什么这两个函数调用不相等
- 在 javascript 中通过继承调用两个函数
- 查找与通过两次调用地理编码创建的两个 latlng 对象的距离
- 为什么我在 Angular JS 中收到两个方法调用
- 为标记调用href中的两个javascript函数
- Angular 2:当第一个服务成功时,两个后端服务调用
- iMacros iim播放如何调用两个函数
- 异步函数调用是否可以在两个同步语句之间完成
- 根据两个异步函数调用的结果执行
- 分别使用两个getJSON调用
- 两个“调用”以拖动 d3 中的事件
- 是否可以同时从两个调用函数中调用具有单个参数的同一函数
- CRUD策略,每个CRUD操作使用一个或两个调用
- 失败:success/error未被调用,尽管两个调用都在那里
- 你需要使用两个调用- 1 get和1 post在ajax或你可以发送数据与成功/失败
- jquery deferred-等待两个调用完成