Jag har ett litet script där jag kör en aktiv sökning.
Problemet är att en del av javascripten(jquery) inte fungerar på den sidan jag ladda in.
Jag har provat både med jquerys load()-funktion samt vanliga gamla ajax.
Koden just nu ser ut följande:
var xmlhttp;
function showquery(str)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var patt1 = /DASENID/i;
var str1 = str.match(patt1);
if (str1 == "DASENID")
{
var str2=str.lastIndexOf("DASENID");
var str3=str.slice(0,str2);
var str4=str2+7;
var str5=str.slice(str4);
var url="bin/query.php?show="+str3;
var str=str.replace("DASENID", "");
url=url+"&q="+str5;
}
else
{
var url="bin/query.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)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
Sen i resultatet så har jag en bild där jag kör en hide() samt sen show() funktion med hjälp utav ett ID. Men det vägrar fungera. Det fungerar när jag kör scriptet på ett ID som finns på själva huvudsidan.
dina javascripts koder innehåller rätt mycket fel, och jag ser inte var du anropar dina funktioner.
#editShow, #editHide, var kommer dom ifrån? är det ifrån ditt ajax anrop (vilket jQuerys load är) så måste du binda om dina events då de element inte finns när sidan laddas första gången, du kan köra med ett live event om du kör jQuery version 1.3 eller högre.
var vill du placera ditt ajax anrop, response texten måste komma till något element på sidan, just nu körs den bara och vågar inte ens tänka på var den placeras.
skrivit om ditt javascript med lite mer struktur så man få en bättre syn på vad du försöker göra:
#editShow och #editHide är bundna till två bilder, den ena med id="editShow" och det andra id="editHide".
Hur placerar jag ett ajax anrop?
Mvh Anders.
Utan att få reda på hur dina HTML dokument ser ut så är det i princip omöjligt att hjälpa dig.
du skriver att du binder det till två bilder, när kommer bilderna? Är det i orginal dokumentet eller är det den AJAX-anropet som appendar dessa två bilder?
Var visas AJAX anropet?
Kör en load istället om du skall presentera något, $.post() har givetvis en success också men det kör du inte heller just nu, läs om load: http://api.jquery.com/load/ kommer göra susen för ditt problem
263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849