Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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
Php 将URL字符串传递给Javascript函数_Php_Javascript - Fatal编程技术网

Php 将URL字符串传递给Javascript函数

Php 将URL字符串传递给Javascript函数,php,javascript,Php,Javascript,我需要向JavaScript函数传递一个URL,如下所示 <script type="text/javascript" language="javascript"> var xmlhttp=''; function ajax() { if(window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp = new Activ

我需要向JavaScript函数传递一个URL,如下所示

<script type="text/javascript" language="javascript">

var xmlhttp='';   
function ajax()
{
    if(window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
         xmlhttp = new ActivexObject("Microsoft.XMLHTTP");
    }
}     

function someFunction(orders_per_page, url)
{
     ajax();
     var val=document.getElementById("txt_order_amount").value; 
     xmlhttp.onreadystatechange=function()
     {
          if(xmlhttp.readyState==4 && xmlhttp.status==200)
          {                
               document.getElementById("list").innerHTML=xmlhttp.responseText;
          }
     }

     xmlhttp.open("GET",url, true);
     xmlhttp.send();        
}
</script>

<select 
    id="cmb_page" name="cmb_page" 
    onchange="someFunction(this.value, "reports/OrderAmount.php?val="+val+"&orders_per_page="+orders_per_page+"&pageNo="+getSelectedPage();">

    <option value="1">Some Value</option>
</select>

var xmlhttp='';
函数ajax()
{
if(window.XMLHttpRequest)
{
xmlhttp=新的XMLHttpRequest();
}
其他的
{
xmlhttp=新的ActivexObject(“Microsoft.xmlhttp”);
}
}     
函数someFunction(每页订单数,url)
{
ajax();
var val=document.getElementById(“txt\订单\金额”).值;
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{                
document.getElementById(“列表”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”,url,true);
xmlhttp.send();
}
一些价值
我需要像
元素的
onchange
中提到的那样传递URL字符串。可能吗?

试试这个

onchange="someFunction(this.value, 'reports/OrderAmount.php?val='+val+'&orders_per_page='+orders_per_page+'&pageNo='+getSelectedPage());"

注意:我已经用单引号替换了双引号,您也可以稍微修改一下代码,以避免出现太多的标记

我假设您的
val
var已定义且在全局范围内:

onchange="someFunction(this.value)"

function someFunction(orders_per_page) {
    var url = "reports/OrderAmount.php?val="+val+"&orders_per_page="+orders_per_page+"&pageNo="+getSelectedPage();
    ajax(); // ... rest of your function

确保
getSelectedPage()
返回的是
字符串,或者是可以解析为字符串的数字。

这是可能的。我一眼就看不出你的函数有任何错误。有什么问题吗?确保定义了
val
orders\u per\u page
变量,以及
getSelectedPage()
返回有效值。已尝试过该操作。它不起作用了。InternetExplorer只报告“语法错误”。如果这些变量设置在正确的位置,它就会工作——我刚刚测试了它。在下面检查我的注释。我不需要仅通过此函数将此URL作为另一个参数传递
onchange=“someFunction(this.value)”
。您提到的工作正常。在我上面的代码中,我在函数本身内部定义了
url
。我不知道
val
var或
getSelectedPage()
函数在哪里,也不知道它们有什么值或返回什么值,但我上面的示例基本上与HTML中定义的
url
相同。尝试一下,检查是否仍然存在语法错误:)或者您的意思是,您有另一个函数调用传递完全不同的
url
?如果是这样的话,我可以查看代码,但是如果@tunmise fasipe的答案没有解决您的问题,那么更有可能是其他东西破坏了您的代码。我刚刚测试了代码,它在chrome和IE9中工作。可能是“val”、“orders\u per\u page”和“getSelectedPage()”函数未声明。我宣布了它们,它们起了作用。要使val和orders_per_page正常工作,您必须将它们声明为globalWell,或者我更改了代码,只通过这个函数传递我需要更改的页面名称
onchange=“someFunction(this.value,'OrderAmount.php')”
并将其连接到URL。这不是我一直在寻找的方法,但不知怎么的,它是有效的。