Error: premenna "message" has no properties – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Error: premenna "message" has no properties – JavaScript, AJAX, jQuery – Fórum – Programujte.comError: premenna "message" has no properties – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

dalaman0
Věrný člen
24. 6. 2007   #1
-
0
-

Zaucam sa do tajov AJAXu a narazil som na problem... Chybu mi hadze kod opisany priamo z knihy o AJAXe :(
No je o to zaujimavejsia pretoze som sa s nou este nestretol :

try

{
// read the response from the server
readResponse();
}
catch(e)
{
// display error message
displayError(e.toString());
}


Vypisuje mi chybu:
 Error encountered:

Type error: message has no properties


Z funkcie readResponse je dolezita iba tato cast (sposobuje chybu):


message = document.getElementById(fieldID + "Failed");
message.className = (result == "0") ? "error" : "hidden";


Vysledna message obsahuje "txtUsernameFailed". Chyba sa vyskitne pri meneni class atributu tejto casti:


<span id="txtUsernameFailed" class="<?php echo $_SESSION['errors']['txtUsername'] ?>"> This username is in use, or empty username field. </span>


DAKUJEM ZA POMOC.. neviem si uz rady

Nahlásit jako SPAM
IP: ...–
Lepšie je mať psa na saláme ako salámu pod psom !!!
24. 6. 2007   #2
-
0
-

Rekl bych, ze objekt ziskavany pomoci toho getElement... neexistuje a to classname se potom nemuze nastavit, protoze ho neni cemu nastavit. Tahle chyba se vyhazuje vzdycky kdyz se snazis pouzit vlasnost neceho, co ji nema.

Nahlásit jako SPAM
IP: ...–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
dalaman0
Věrný člen
24. 6. 2007   #3
-
0
-

To napadlo aj mna, tak som si dal zobrazit v prehliadaci zdrojovy kod stranky a dane id tam je :

<span id="txtUsernameFailed" class="hidden"> This username is in use, or empty username field. </span>

Nahlásit jako SPAM
IP: ...–
Lepšie je mať psa na saláme ako salámu pod psom !!!
dalaman0
Věrný člen
24. 6. 2007   #4
-
0
-

Vsimol som si zaujimavej skutocnosti ak miesto

 message = document.getElementById(fieldID + "Failed");

napis rovno
 message = document.getElementById("txtUsernameFailed");

tak to funguje... LEnze potom zas nefunguje funkcia na vsetky vstupy ale len na tento jeden..

PLS HEEEEEEEEEELP!!

Nahlásit jako SPAM
IP: ...–
Lepšie je mať psa na saláme ako salámu pod psom !!!
24. 6. 2007   #5
-
0
-

Tak checkni promennou fieldID ;)

Nahlásit jako SPAM
IP: ...–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
dalaman0
Věrný člen
25. 6. 2007   #6
-
0
-

Hmmm... to som robil ako prve... hned predtym si ju necham vypisat a je OK :(

Dneska som to skusal pomenit ale nepomaha....

Nahlásit jako SPAM
IP: ...–
Lepšie je mať psa na saláme ako salámu pod psom !!!
25. 6. 2007   #7
-
0
-

Posli sem zdrojak

Nahlásit jako SPAM
IP: ...–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
dalaman0
Věrný člen
25. 6. 2007   #8
-
0
-

Tato funkcia sa spusti ked klinet obdrzal XML spravu

function handleRequestStateChange()

{
// when readyState is 4, we read the server response
if (xmlHttp.readyState == 4)
{
// continue only if HTTP status is "OK"
if (xmlHttp.status == 200)
{
try
{
// read the response from the server
readResponse();
}
catch(e)
{
// display error message
displayError(e.toString());
}
}
else
{
// display error message
displayError(xmlHttp.statusText);
}
}
}


Toto je chybova funkcia
function readResponse()

{
// retrieve the server's response
var response = xmlHttp.responseText;
// server error?
if (response.indexOf("ERRNO") >= 0 || response.indexOf("error:") >= 0 || response.length == 0)
throw(response.length == 0 ? "Server error." : response);
// get response in XML format (assume the response is valid XML)
responseXml = xmlHttp.responseXML;
// get the document element
xmlDoc = responseXml.documentElement;
result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
var fieldID;
fieldID = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data;



// find the HTML element that displays the error
fieldID=fieldID+ "Failed";
message = document.getElementById(fieldID);
// show the error or hide the error
message.className = (result == "0") ? "error" : "hidden";
// call validate() again, in case there are values left in the cache
setTimeout("validate();", 500);
}

ale ako vravim, zbytok funkcie funguje ok

A toto je html cast
<label for="txtUsername">Desired username:</label>

<input id="txtUsername" name="txtUsername" type="text" onblur="validate(this.value, this.id)"
value="<?php echo $_SESSION['values']['txtUsername'] ?>" />
<span id="txtUsernameFailed" class="<?php echo $_SESSION['errors']['txtUsername'] ?>"> This username is in use, or empty username field. </span>

Nahlásit jako SPAM
IP: ...–
Lepšie je mať psa na saláme ako salámu pod psom !!!
25. 6. 2007   #9
-
0
-

A kde mas server side cast? Neco co generuje to XML, protoze chyba je podle me v tom, ze nemuze najit ten element v tom XML souboru.

Nahlásit jako SPAM
IP: ...–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
dalaman0
Věrný člen
25. 6. 2007   #10
-
0
-

Nastvalo ma to a zacal som to tvorit cele od znovu a potom ako som znovu napisal tu cast, ktora generuje XML dokument tak to zacalo ist...
Takze CommanderZ mas pravdu , bola chyba tam...

No napadlo ma to aj predtym tak som si skontrooval vysledny xml dokument a bol good... A vedel z neho skript citat pretoze premenne obsahovali dobre udaje... Takze naozaj neviem co sa mohlo stat....

Aj tak dakujem vsetkym za snahu

Tu je vysledny dokument o ktory som sa snazil... http://ajaxphp.packtpub.com/ajax/validate/

Nahlásit jako SPAM
IP: ...–
Lepšie je mať psa na saláme ako salámu pod psom !!!
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 16 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý