[javascript] Zmienne nazwą innych zmiennych

0

Mam dynamiczny formularz w php. LIczba formularzy uzalezniona jest od ilosci pol w bazie. Nazwa formy to numer id. Teraz przed wyslaniem formularza chce sprawdzac dane skryptem przez [code]onsubmit='return sprawdz(this)'[/code] i teraz :

function sprawdz()
{
if(document.<font color="red">nazwa_formy</span>.pole.value == 'TRALALA')
{
tu cos sprawdza
}
}

Jak w miejsce nazwa_formy wstawic nazwe formularza czyli mowiac prosciej majac zmienna id np.5 jak zrobic zeby warunek if byl postaci :
document.5.pole.value a gdy wartosc bedzie np 9 to analogicznie document.9.pole.value ; nazwa formy musi byc stworzona dynamicznie.

Jeszcze prosciej:
mam zmienna var a;
Chce utworzyc druga zmienna o nazwie takiej jak wartosc zmiennej a.

0
function sprawdz(id_formy)
{var forma = document.getElementById(id_formy);
 if (...)
 {...
 }
}

o to Ci chodziło?

0

[code]onsubmit='return sprawdz(this)'[/code] i teraz :

function sprawdz()
{
if(document.<font color="red">nazwa_formy</span>.pole.value == 'TRALALA')
{
tu cos sprawdza
}
}

Czemu w onsubmit przekazujesz do funkcji obiekt this a go nie wykorzystujesz ?
Może właśnie o to ci chodzi , this jest odnośnikiem do formularza ?

0

Czemu w onsubmit przekazujesz do funkcji obiekt this a go nie wykorzystujesz ?
Może właśnie o to ci chodzi , this jest odnośnikiem do formularza ?

Hmm musze powiedziec ze z javascriptem mam przyjenosc od niedawna i kiedys gdzies podejrzalem takie rozwiazanie ale o co mo chodzi:
Chce wybrac rekordy z bazy torych np raz bedzie 5 a raz 15 i prsy kazdym dac przyscik kasujz tymze po kliknieciu na kasuj pojawia sie confirm (czy na pewno chcesz skasowac?).
Gdy np z bazy zostanie wybranych 5 rekordow dynamicznie tworzy mi sie 5 formularzy ale one sa o tej samej nazwie i wtedy na fukcja sprawdz() dziala tylko dla ostatniego wpisu (jak zostanie jeden) .
Panowie jak to zrobic ? Wygenerowalem formularze gdzie nazwa formy jest nr id ale teraz nie bardo wiem wlasnie jak to zrobic najprosciej.
?

0

nosz do chol4%^$ - napisałem odpowiedź a Ty olałeś... po co w ogóle pytasz?? :|

0

Może właśnie o to ci chodzi , this jest odnośnikiem do formularza

hmmm..... brak odpowiedzi na to pytanie może być jedynie dowodem niezrozumienia go a więc tłumaczę:

onsubmit="return sprawdz(this)" <- this wskazuje na ten formularz

a teraz w funkcji sprawdz:

function sprawdz(form_co_mnie_wywolal) {
alert(form_co_mnie_wywołał.pole.value)
}

chyba to już jest zrozumiałe....

mam nadzieje że o to Ci chodzi....

0

nosz do chol4%^$ - napisałem odpowiedź a Ty olałeś... po co w ogóle pytasz?? :|

No juz spokojnie :) dzieki bardzo jutro sprawdzam.

0

hmmm..... brak odpowiedzi na to pytanie może być jedynie dowodem niezrozumienia go a więc tłumaczę:

onsubmit="return sprawdz(this)" <- this wskazuje na ten formularz

a teraz w funkcji sprawdz:

function sprawdz(form_co_mnie_wywolal) {
alert(form_co_mnie_wywołał.pole.value)
}

chyba to już jest zrozumiałe....

mam nadzieje że o to Ci chodzi....

No zrozumiale to jest ale pod warunkiem ze nazwa formularza jest znana. Jezeli pojawia sie na stronie 3 formularze o tej samej nazwie to funkcja mi sie nie odpala, dopiero jak zostanie jeden na stronie to f. zadziala, dlatego pytam o dynamiczne nazywanie formularzy, bo w tym momencie chyba kazdy generowany formularz musi miec inna nazwe jakies unikalne id. Czyż nie ?
Czyli:
1.-------------------------------------------------------------
function sprawdz()
{
if(document.nazwa_formy.pole.wartosc == 'cos tam')
return true;
else
return false;
}

<form name="a">..jakies pola...<input type="submit" onsubmit="return sprawdz(this)"> </form> -------------tu się funkcja odpala bo 1 formularz----------

2-------------------------------------------------------------
function sprawdz()
{
if(document.nazwa_formy.pole.wartosc == 'cos tam')
return true;
else
return false;
}

<form name="a">..jakies pola...<input type="submit" onsubmit="return sprawdz(this)"> </form> <form name="a">..jakies pola...<input type="submit" onsubmit="return sprawdz(this)"> </form> <form name="a">..jakies pola...<input type="submit" onsubmit="return sprawdz(this)"> </form>

-------------tu się funkcja NIE odpala bo formularzy jest X----------

I dlatego mi chodzi o nadawanie formularza nazw np. a1, a2,..... ,ax
ale w tym momenecie w funkcji nie moge sie odwolac sztywno:
document.NAZWA_FORMY.pole.wartosc bo nie wiem jaka FORMA bedzie wybrana (dlatego testuje jutro odpowiedz poprzednika juz wkurzonego :)

//peace - mM

0

No zrozumiale to jest ale pod warunkiem ze nazwa formularza jest znana......

eee ?? [???] o jaką nazwę formularza ci chodzi , ja nie użyłem żadnej nazwy w przykładzie ?

[<font color="blue">dopisane</span>]

A to form_co_mnie_wywolal to co jest ?

to jest właśnie zmienna [diabel]

0

function sprawdz(form_co_mnie_wywolal) {
alert(form_co_mnie_wywołał.pole.value)
}

chyba to już jest zrozumiałe....

mam nadzieje że o to Ci chodzi....

A to form_co_mnie_wywolal to co jest ?

0

Eh... to jest nazwa parametru? Skoro w w wywołaniu masz funkcja(parametr) a w funkcji masz nazwa_funkcji(cos) to potem w cos masz parametr

1 użytkowników online, w tym zalogowanych: 0, gości: 1