Kom ihåg mig?
Home Menu

Menu


Ajax + Firefox

 
Ämnesverktyg Visningsalternativ
Oläst 2007-10-23, 09:18 #1
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
Jag har ett formulär som kollar både om emailen är korrekt skriven och om den redan finns i databasen. Varje gång man skriver en bokstav så körs scriptet. Problemet jag har är att jag får javascriptfel i firefox i alla fall.

Förmodligen för att den inte har hunnit köra klart den första requesten när den andra görs? Har försökt söka på google men inte hittat någon lösning som jag har förstått.

Allting fungerar precis som det ska förutom att jag ibland får tillbaka ett tomt resultat, alltså ingenting skickas som jag antar beror på javascriptfelet.

Har testat i Internet Explorer 7 och där fungerar det smärtfritt, väldigt bra faktiskt.

Detta är felmeddelandet:
Kod:
uncaught exception: [Exception... "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIXMLHttpRequest.send]" 
nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)" location: "JS frame :: javascript: eval(__firebugTemp__); :: anonymous :: line 1" data: no]
Hur ska jag ändra i ajaxkoden för att t.ex avbryta en pågående request om en ny kommer? Det borde ju lösa det?

Så här ser det ut:

Inputfältet:
Kod:
<input type="text" id="email" name="email" class="inputtext1" onKeyUp="javascript:checkEmail(this.value);"/>
Ajax-funktionen:
(Kommer utveckla denna så den inte räknar med ctrl, alt, shift tror jag)
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();

function checkEmail(email) {
	req.open("GET", "includes/ajax/newsubscriber.ajax.php?action=checkemail&email="+escape(email), true);
	req.onreadystatechange = handleCheckEmailResp;
	req.send(null);
}

function handleCheckEmailResp() {
 if(req.readyState == 4){
 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;
 }
 }
}
Hittade denna sida: http://www.quirksmode.org/blog/archi...notes_a_1.html
där de tar upp problemet har provat ett par saker där men har inte fått något att fungera.

Någon som har en lösning på detta?
Urme är inte uppkopplad   Svara med citatSvara med citat
 


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 01:18.

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