Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 2个函数分别在同一时间更改事件_Javascript_Php_Html_Ajax_Onchange - Fatal编程技术网

Javascript 2个函数分别在同一时间更改事件

Javascript 2个函数分别在同一时间更改事件,javascript,php,html,ajax,onchange,Javascript,Php,Html,Ajax,Onchange,所以我要寻找的是一种方法,在使用我的第一个选项进行更改时触发2个函数事件,我在其他站点上查找了一些示例,但它们都不起作用。但我想要的是当选择this.value时,函数通过选择打开两个单独的选项 因此,如果category是Dogs,它会同时执行showSub(Dogs)和showSize(Dogs),并发送到两个不同的php页面调用(如果可能的话) //index.php <select name="category" onChange="showSub(this.value);show

所以我要寻找的是一种方法,在使用我的第一个选项进行更改时触发2个函数事件,我在其他站点上查找了一些示例,但它们都不起作用。但我想要的是当选择this.value时,函数通过选择打开两个单独的选项

因此,如果category是
Dogs
,它会同时执行
showSub(Dogs)
showSize(Dogs)
,并发送到两个不同的php页面调用(如果可能的话)

//index.php

<select name="category" onChange="showSub(this.value);showSize(this.value)" style="width:200px;">
<option value="">Select Category</option>
Send to php to get actual options.
</select>
<div id="txtSub"></div>
<div id="txtSize"></div>
//index.php的其余部分

<div id="txtSub"></div>
<div id="txtSize"></div>


使用
var
声明所有变量。您的
showSub()
showSize()
函数都使用未使用
var
声明的变量
xmlhttp
,这使其成为全局变量-因此,当您调用
showSize()
时,它将覆盖
showSub()
中的
xmlhttp
对象(这就是为什么你会得到评论中提到的效果,其中“对于当前代码,showsize只显示”)

因此,将这一行添加到每个函数的开头:

var xmlhttp;
更好的是,将if/else移到一个单独的函数中,该函数返回一个xmlhttp对象,而不是在两个函数中重复该代码:

function getXMLHttp() {
    return window.XMLHttpRequest ? new XMLHttpRequest()            // newer browsers
                                 : new ActiveXObject("Microsoft.XMLHTTP"); // old IE
}

// and then within your other functions:
var xmlhttp = getXMLHttp();

那么,什么具体不起作用呢?你没有理由不能进行多个异步调用。你真的必须支持IE6、IE5吗?我为你感到难过。@mikebrant实际上它做了一些奇怪的事情,我的语法肯定是错误的
新ActiveXObject(“Microsoft.XMLHTTP”)
woah根据当前代码,showsize只显示。如果我更改
是否正确
onChange=“showSub(this.value);showsize(this.value)”
?别担心这会起作用。这个网站上有这么多人在玩巨魔。你就是那个人!