Kom ihåg mig?
Home Menu

Menu


Ajax + Firefox

 
Ämnesverktyg Visningsalternativ
Oläst 2007-10-24, 12:42 #11
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
Citat:
Originally posted by Urme@Oct 24 2007, 09:12

Det verkar som den aldrig kör req.open etc i checkEmail dock, utan den hoppar direkt till …
Det är möjligt att exemplet inte fungerar utan vidare, skrev bara ihop det lite snabbt.

Är http-req-objektet verkligen skapat?

I princip ska exemplet fungera i alla fall.
martine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-10-24, 13:41 #12
Urme Urme är inte uppkopplad
Medlem
 
Reg.datum: Jun 2005
Inlägg: 108
Urme Urme är inte uppkopplad
Medlem
 
Reg.datum: Jun 2005
Inlägg: 108
Citat:
Ursprungligen postat av martine
Citat:
Ursprungligen postat av Urme
Det verkar som den aldrig kör req.open etc i checkEmail dock, utan den hoppar direkt till …
Det är möjligt att exemplet inte fungerar utan vidare, skrev bara ihop det lite snabbt.

Är http-req-objektet verkligen skapat?

I princip ska exemplet fungera i alla fall.
ja det är den, här är hela koden, jag kanske har missat nåt helt men har kollat igenom det ett par gånger.

Kod:
function createXMLHttpRequest() {
 var ua;
 if(window.XMLHttpRequest) {
  try {
   ua = new XMLHttpRequest();
  } catch(e) {
   ua = false;
  }
 } else if(window.ActiveXObject) {
  try {
   ua = new ActiveXObject("Microsoft.XMLHTTP");
  } catch(e) {
   ua = false;
  }
 }
 return ua;
}

var req = createXMLHttpRequest();

var epost = "";
var wait = false;

function nybokstav(x) {
	epost=x;
	checkEmail();
}

function checkEmail() {
	if(req.readyState == 0 || req.readyState == 4) {
 req.open("GET", "includes/ajax/newsubscriber.ajax.php?action=checkemail&email="+escape(epost), true);
 req.onreadystatechange = handleCheckEmailResp;
 req.send(null);
	} else {
 wait = true;
 document.getElementById('validtext').innerHTML = "Väntar...";
	}
}

function handleCheckEmailResp() {
	if(req.readyState == 4){
 if(req.status == 200) {
 	if (req.responseText == "Valid!") {
  document.getElementById('validimage').innerHTML = "<img src=\"images/valid.png\" alt=\"\">";
  document.getElementById('validtext').innerHTML = "Godkänd!";
  document.getElementById('btnSave').disabled = false;
 	} else if(req.responseText == "Exists!") {
  document.getElementById('validimage').innerHTML = "<img src=\"images/invalid.png\" alt=\"\">";
  document.getElementById('validtext').innerHTML = "Existerar!";
  document.getElementById('btnSave').disabled = true;
 	} else if(req.responseText == "inValid!") {
  document.getElementById('validimage').innerHTML = "<img src=\"images/invalid.png\" alt=\"\">";
  document.getElementById('validtext').innerHTML = "Ej godkänd!";
  document.getElementById('btnSave').disabled = true;
 	} else {
  document.getElementById('validtext').innerHTML = req.responseText;
 	}
 } else {
 	document.getElementById('validtext').innerHTML = "Error: Status "+req.status;
 }

 if(wait) {
 	checkEmail();
 	wait = false;
 }
 }
}
Urme är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-10-25, 00:14 #13
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
Kallar du också med funktionen bokstav() ?

<input type="text" id="email" name="email" class="inputtext1" onKeyUp="javascript:nybokstav(this.value);"/>

(man skulle ju också kunna lägga in epost=x; i funktionen checkEmail förstås och slopa nybokstav(), det var mer som en illustration)

Har du testat att lägga in en alert(epost); före och efter req.open och req.send() för att se att skriptet åtminstone kommer så långt i checkEmail() utan felmeddelanden?
martine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-10-26, 09:04 #14
Urme Urme är inte uppkopplad
Medlem
 
Reg.datum: Jun 2005
Inlägg: 108
Urme Urme är inte uppkopplad
Medlem
 
Reg.datum: Jun 2005
Inlägg: 108
Vet inte vad jag gjorde men nu när jag testar scriptet får verkar det fungera utan att jag ändrat något, verkar märkligt

Men du ska ha ett stort tack för att ha löst det!
Urme är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-10-26, 09:26 #15
melin melin är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2003
Inlägg: 1 396
melin melin är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2003
Inlägg: 1 396
varför köra vid varje teckenförändring förresten? jag skulle kört en kontroll då man lämnar fältet

dvs istället för onchange() / onkeydown() så kör jag på onblur()
melin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-10-26, 09:45 #16
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
Citat:
Originally posted by melin@Oct 26 2007, 09:26
varför köra vid varje teckenförändring förresten? jag skulle kört en kontroll då man lämnar fältet

dvs istället för onchange() / onkeydown() så kör jag på onblur()
Haken med onchange är väl just att det kanske inte händer förrens man klickar på submit och då är det ju ingen nytta med ajax längre…

(Edit: Fast just i det här fallet är väl inte onkeydown helt nödvändigt, men ibland kan det bli riktigt snyggt, vid sökningar etc.)
martine är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 11:26.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017