Ajax problem

Avdelningen för webbrelaterad programmering och grafisk design.
Post Reply
AphX
Posts: 711
Joined: 2004-06-11 13:29:23

Ajax problem

Post by AphX »

Hej!

Jag håller på å gör ett AJAX registreringsformulär.

Den vesäntliga biten av min javascript ser ut såhär:

Code: Select all

var xmlHttp

// ######## 11111111111111
function showHint(str)
{
if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";
	var url="gethint.php";
	url=url+"?q="+"";
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
  }
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="gethint.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;
}
}
// ######## 1111111111111111111
I gethint.php lägger jag alla kontroller för formulären (vill helst göra på det sättet om det går). Där har jag kod som kollar att username inte finns etc. och sedan echo:ar jag ut antingen en text som säger att nåt blev fel eller en div som innehåller en bild på en grön liten bock.

Det funkar 100%.... med ETT fält. Eftersom javascriptet hämtar allt som echoas från gethint.php så får alla fält samma felmeddelande eller grön bock (om jag lägger till fler showHint-liknande funktioner i mitt javascript för varje fält).

Det här är första gången jag pillar i javascript/ajax. En lösning är ju att göra en ny PHP-fil för varje fält. Det skulle faktiskt fungera. Men det känns som en otroligt noobig lösning (vilket jag iofs är). :)

Någon som kan tipsa mig om hur jag ska göra för att styra utskrifterna i PHP-filen till rätt fält i HTML-filen (där formuläret är).

Tack så mycket på förhand! Får ursäkta om jag är otydlig. Är noob :)

MVH!
User avatar
madr
Posts: 998
Joined: 2004-08-24 11:12:39
Contact:

Re: Ajax problem

Post by madr »

Du behöver göra någon form av for-loop, t ex via document.getElementByID('myForm').elements.

Det här scriptet kanske ger dig svar, då det postar ett formulär med ajax:
http://bulletproofajax.com/code/chapter ... ct/ajax.js
antlion: 3,2 GHz i7 | 32GB | 180GB+120GB SSD SATA III | 2TB SATA III | Dell u2410 | GF 5600ti Arch linux + Win 7
Post Reply