firefox hiba
Sziasztok segítséget szeretnék kérni, az alábbi script IE6 alatt lefut, de firefox hibát ír,a debugban a tömbe elemeit mutatja.
köszi a segítséget
■ function ajanlat_form()
{
//ajánlat form elemei
form_elemek = new Array("sorszam","ugyfelnev","szulhely","szuldatum","irsz","telepules","utca","hazszam","telefon1","telefon2","email","ugynoknev","ugynokkod","levnev");
form_elemek.push("levirsz","levtelepules","levutca","levhazszam","osszdij");
//ajánlatform termékek
for(z=1;z<=3;z++)
{
form_elemek.push("tcsaladSelect"+z,"markaSelect"+z,"refszam"+z,"gyariszam"+z,"vasarlasido"+z,"ar"+z,"garevek"+z,"jotallasutolso"+z,"biztkezdete"+z,"biztvege"+z,"biztdij"+z);
}
return form_elemek;//viiszatér a tömb elemeivel
}
//itemId ajanlat_form = megnez,
function nyomtat(itemId)
{
ajanlat_form();//return tömb ajanlat_form funkcióból "form_elemek"
var url="";
//végigmegyek a tömb elemein és azt az url válltozóba rakom
for(i=0; i<form_elemek.length; i++) //itt megkapja a tömböt bent is vannak az elemek
{
url += form_elemek[i]+"="+document.getElementById(form_elemek[i]).value+"&"; /itt száll el
}
{
//ajánlat form elemei
form_elemek = new Array("sorszam","ugyfelnev","szulhely","szuldatum","irsz","telepules","utca","hazszam","telefon1","telefon2","email","ugynoknev","ugynokkod","levnev");
form_elemek.push("levirsz","levtelepules","levutca","levhazszam","osszdij");
//ajánlatform termékek
for(z=1;z<=3;z++)
{
form_elemek.push("tcsaladSelect"+z,"markaSelect"+z,"refszam"+z,"gyariszam"+z,"vasarlasido"+z,"ar"+z,"garevek"+z,"jotallasutolso"+z,"biztkezdete"+z,"biztvege"+z,"biztdij"+z);
}
return form_elemek;//viiszatér a tömb elemeivel
}
//itemId ajanlat_form = megnez,
function nyomtat(itemId)
{
ajanlat_form();//return tömb ajanlat_form funkcióból "form_elemek"
var url="";
//végigmegyek a tömb elemein és azt az url válltozóba rakom
for(i=0; i<form_elemek.length; i++) //itt megkapja a tömböt bent is vannak az elemek
{
url += form_elemek[i]+"="+document.getElementById(form_elemek[i]).value+"&"; /itt száll el
}
köszi a segítséget
Scope
a) megoldás: tedd globálissá a form_elemek nevű tömböt (a függvényeken kívül definiáld) és azt töltsd fel az ajanlat_form() függvénnyel (ekkor viszont már nem kell bele "return form_elemek;")
b) megoldás: a nyomtat() függvényben az első sor legyen "form_elemei = ajanlat_form();" és utána a form_elemei nevű tömbre hivatkozz.
.bng
& és " jel
köszi
Köszönöm.
de csináltam egy ilyen kódot is:
function form(f) {
var url = "";
for (var n=0; n < f.elements.length; n++) {
url+=f.elements[n].name+"="+f.elements[n].value+"&";
}
alert(url) pár form elem neve kimaradt de a value szerepelt
return url;
}
function xy(form_nev)
{
form(form_nev);
alert(url); nem adott vissza semmit.
}
Kipróbáltad?
igen ua
egyébkent mikor a másik kóddal próbáltam írtam hogy nem találta meg az elem ID-jét de atartalmat igen.
Nem tudom ismered-e DhtmlX komponenseit, többek között van egy naptár komponens; itt volt a probléma,
Nem választottam ki a dátumot de az adatok jelentkeztek persze ID -név nélül.Ezért csináltama tömböt.
IE hiba..
Firefox (és több böngésző) nem találja meg getElementById()-val az elemeket, ha nincs kifejezetten "id" megadva neki a HTML-ben. Ez nem bug, nem is kell hogy megtalálja. A Suxplorer viszont megtalálja, tehát tesztelés alatt jól fut minden, aztán megnézed mással, akkor ott a probléma.
(Egyébként teljesen hasonló a helyzet az "alt" és a "title" tulajdonsággal. Én is azt hittem először, hogy Firefox hiba, hogy nem jeleníti meg az "alt"-ban leírtakat, míg Explorer igen. Egy másik weblaboros topicban fel is vetettem a témát, és ott is kiderült, hogy Explorer időnként megjelenít azt is amit nem kellene, megtévesztve a fejlesztési fázisban a gyanútlan felhasználót).
köszi