修改javascript以获取两个查询字符串

时间:2010-11-15 19:24:15

标签: javascript ajax

我有这个javascript代码,它将输入栏中输入内容的值发送到php文件,该文件根据输入到输入字段的内容的值从数据库中获取行。我需要编辑这段代码,以便javascript不仅可以将输入内容的值发送到php,还可以发送另一个javascript变量。

代码如下:

function showFriends(str)
{
    var cake = document.getElementById("cake");

    if(str.length == 0)
    { 
        document.getElementById("livesearch1").
        innerHTML = "";
        document.getElementById("livesearch1").
        style.border="0px";
        return
    }

    xmlHttp=GetXmlHttpObject()


    var url="petition_send.php"
    url=url+"?q="+str
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=stateChanged 
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
} 

function stateChanged() 
{ 
    if(xmlHttp.readyState == 4 || xmlHttp.readyState=="complete")
    { 
        document.getElementById("livesearch1").
        innerHTML=xmlHttp.responseText;
        document.getElementById("livesearch1").
        style.border="1px solid #A5ACB2";
    } 
}

function GetXmlHttpObject()
{
    var xmlHttp=null;
    try
    {
    //Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
    //Internet Explorer
    try
    {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
        return xmlHttp;
    }

我需要var url等同于“petition_send.php?petition_ID = cake&”

但是,出于某种原因,当我这样编写代码时代码不起作用。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

如果jquery是一个选项,你可以使用像

这样的东西
$("#mybutton").click(function(){
   $("#livesearch1").load("petition_send.php", 
      { "q" : $("#cake").text(),
        "sid" : Math.random() }).css("border","0px");
});

这简单得多

答案 1 :(得分:0)

使用jQuery:

$('#livesearch1').load('petition_send.php', 
  { q: $('#cake').value(), sid: Math.random() },
  function() { $('#livesearch1').addClass('with-border'); }
);

答案 2 :(得分:0)

您是否尝试将另一个参数(petition_ID)添加到当前查询字符串并将petition_ID的值设置为var cake的值?

function showFriends(str)
{
    var cake = document.getElementById("cake");

    if(str.length == 0)
    { 
        document.getElementById("livesearch1").innerHTML = "";
        document.getElementById("livesearch1").style.border="0px";
        return;
    }

    xmlHttp=GetXmlHttpObject();


    var url="petition_send.php";
    url=url+"?q="+str;
    // additional param
    url=url+"&petition_ID="+cake;
    url=url+"&sid="+Math.random();
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}