Php 将URL字符串传递给Javascript函数
我需要向JavaScript函数传递一个URL,如下所示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
<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。这不是我一直在寻找的方法,但不知怎么的,它是有效的。