Jump to content
php.lv forumi

nesanāk padot document.getElementById() mainīgo


Recommended Posts

Posted

Sastapos ar problēmu, ka

document.getElementById(cstr) nesanāk nekādīgi padot mainīgo tas būtu kaut vai šis pats cstr, jebkurā gadījumā tiek ņemts elementa id ar nosaukumu kas padots, kas loģiski beidzas error consolē ar kļūdu:

document.getElementById(cstr) has no properties

 

es tā domāju, ka nevarētu būt tā ka getElementById var padot tikai konstanti ne?

Posted

Cik zinu, tad JavaScript vispār nav tāda lieta kā konstantes. Kas attiecas uz Tavu kļūdu, tad visticamāk nav elementa, kuram id būtu vienāds ar cstr vērtību.

Posted (edited)

Domāju, ka cilvēks mēģina getElementByID izsaukt jau pirms dokumenta ielādes. Pamēģini ielikt kodu iekš window.onload = funciton() {} vai ari nonest vienkārši lapas pašā apakšā.

Edited by andrisp
Posted

1. pirms tas rindinjas ieliec alert(cstr) un paskaties kas vispar tiek padots...

2. gadijuma neizmanto AJAX?

Ja ja tad var but ka dotais elements vel nav ieladejies....

// Ajax izpildas atseviskja plusma .... //

Posted

nē, neviens mani nesaprata... :(

pamēģiniet paši:

 

var cstr = 'c_34534'; // nav būtiski

document.write(cstr); // vai alert vienalga bet izvada c_34534 kā tam būtu arī jābūt

var blablabla = document.getElementById(cstr).innertHTML; // rada kļūdu jo id cstr nav, bet man nemaz to nevajag, man vajag lai ņem id c_34534

Posted
rada kļūdu jo id cstr nav, bet man nemaz to nevajag, man vajag lai ņem id c_34534

 

Atvaino, bet ko tur murgo? Tad tev vajag elementu atrast pēc id vai nevajag ?

Posted

paldies par parādīšanu... patiešām ņem pretī, vai var būt pie vienas tas, ka šis javascripts tiek echots iekš php ar '' vai "" ?

Posted

Diezvai. Drīzāk gan pie vainas varētu būt tas, ka tas javascript izpildās pirms tā HTML elementa. Tev tas JS ir ielikts iekš window.onload vai arī pašā lapas apakšā ?

Posted

liels paldies, tā bija funkcija kas tika izsaukta tieši pirms šiem id, laikam javascripts ir tik gudrs, ka ja nav tāda id izmēģina arī mainīga nosaukumu, kas mani samulsināja!

Posted

Es gan teiktu otrādi. Jo atšķirībā no citām valodām, kuru kļūdu paziņojumos parāda mainīgā vērtību, kas mēģināta, JS kļūdu paziņojumos tā arī paliek mainīgā nosaukums.

Posted

Kļūdas paziņojuns "document.getElementById(cstr) has no properties" nozīmē to, ka objekts, kuru atgriež document.getElementById(cstr) funkcija ir null. Un null vērtībai nav neviena propertija.

 

Pamēģini pats:

var x = null;
y = x.innertHTML;

 

Ja netici atgrieztajām vērtībām, tad vienmēr pārbaudi tās:

var elem = document.getElementById(cstr);
if (elem)
{
alert(elem.innerHTML);
}
else
{
alert("Kļūda - " + cstr + " elements nav atrasts! (elem == null)");
}

×
×
  • Create New...