Avatar billede benzon Praktikant
07. juli 2006 - 02:16 Der er 4 kommentarer og
1 løsning

Ajax/javascript spørgsmål

var xmlHttp

function showCustomer(str)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="test.php"
url=url+"?p_id="+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("txtHint").innerHTML=xmlHttp.responseText
}
}

function GetXmlHttpObject()
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}

Meget meget simpelt ajax script der virker suverænt og ekstremt nemt og arbejde med, men nu sider jeg med en søge funktion jeg gerne vil lave i ajax, fordi jeg syntes ajax er en smart måde at arbejde på.

problemet er jeg har flere variabler jeg har 5-6 forskellige ting man skal kunne søge på sådan lige umidelbart.

Og jeg hved endnu ikke hvordan jeg søger på flere strings det jeg har arbejdet med supporter desvære kun 1 sting og ikke flere strings er der nogen der kan hjælpe mig med hensyn til dette?

Altså give en forklaring på hvordan jeg kan gøre dette.
Avatar billede fennec Nybegynder
07. juli 2006 - 08:26 #1
Scriptet sender bare en række parametre på url'en, så det er bare at opbygge dine parametre også sende den til funktionen:

function showCustomer(str)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="search.php?"+ str
...

resultat = showCustomer("mode=search&text=søgeord&groupID=3")
Avatar billede benzon Praktikant
07. juli 2006 - 11:25 #2
Altså det du siger er + str bare tager alle string parametre og sender det videre?
Avatar billede fennec Nybegynder
07. juli 2006 - 11:49 #3
Jeps.

Det det handler om er at sende oplysninger til en side, og det kan man enten gøre via GET eller POST.

GET er urlparametre ("enSide.php?par1=val1&par2=val2...") og sendes ved med koden:
xmlHttp.open("GET","enSide.php?par1=val1&par2=val2...",true)
xmlHttp.send(null)

Dette svare til et link:
<a href="enSide.php?par1=val1&par2=val2">klik</a>

Eller en form:
<form action="enSide.php" method="GET">
<input type="text" name="par1">
<input type="text" name="par2">
</form>


POST er "skjult" og sendes på denne måde:
xmlHttp.open("POST","enSide.php",true)
xmlHttp.send("par1=val1&par2=val2...")

Dette svare til:
<form action="enSide.php" method="POST">
<input type="text" name="par1">
<input type="text" name="par2">
</form>

Du kan derfor lave en tekststreng med parameterne i også tilføjer du bare den til url'en eller post'en i funktionen.
Avatar billede benzon Praktikant
07. juli 2006 - 20:24 #4
okay lyder jo super det vil sige + str bare tager alle fælter og opbygger den her string, lige som den bruges i php and so on
Avatar billede fennec Nybegynder
10. juli 2006 - 08:13 #5
Jeps
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester