如何将php变量传递给javascript函数

如何将php变量传递给javascript函数,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我有两个组合框,我想通过ajax将所选值传递给另一个php 问题是如何在一个函数中传递两个变量 <script> function showUser(str,str2) { if (str == "" ||str2 =="" ) { document.getElementById("txtHint").innerHTML = ""; return; } else { if (window.XMLHttpRequ

我有两个组合框,我想通过ajax将所选值传递给另一个php 问题是如何在一个函数中传递两个变量

    <script>
function showUser(str,str2) {
    if (str == "" ||str2 =="" ) {
        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 (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET","cg_comboBox.php?q="+str+"&p="+str2,true);
        xmlhttp.send();
    }
}
</script>

<script>
function fun(v)
{
        document.getElementById("xxx").innerHTML = v;       
}

</script>
html


我想在第二个参数中添加$x值,但如何添加?

这将解决您的问题:

onchange="showUser(this.value,'"+<?php echo $x; ?>+"')"

您的问题很可能是使用HTML或HTM扩展名命名脚本。用PHP扩展名而不是HTML扩展名命名脚本文件。这是一个常见的问题

一旦您这样做,其他人发布的解决方案将起作用,例如:

<?php $x = 'something!'; ?>
onchange="showUser(this.value,'"+<?php echo $x; ?>+"')"

应该可以了!:

我做了一些更改,试试看。应该是onchange=showUserthis.value,我的扩展名是php,问题是我如何将值赋给$x,因为我有onchange=funthis.value来发送第一个combox的值。所以问题就在这里:当你用PHP输出代码时,你对它输出的Javascript代码拥有绝对的控制权。试试我的编辑说的。等一下,我想我明白你的问题是什么了,你的javascript代码和PHP代码在不同的文件中?在这种情况下,您需要的是在主模块中定义一个变量!并在辅助模块中使用该变量!等一下,我会编辑代码。。。
<?php $x = 'something!'; ?>
onchange="showUser(this.value,'"+<?php echo $x; ?>+"')"
var myvar = <?php echo $x; ?>;
onchange="showUser(this.value, myvar);"