ugrás a tartalomhoz

JavaScript form elem disabled több form esetén

Qkac · 2008. Jan. 19. (Szo), 01.39
Sziasztok! Az lenne a kérdésem, hogy hogyan tudok elérni egy űrlap elemet, ha több form van az oldalon, amiket php ciklussal generálok ezért nem tudom előre hogy hány lesz.

php:
Van egy űrlap: rajta egy radio button - onclick='fv($i)' <- $i a <form name/id=form[$i] -ben is használt sorszám.

js:
function fv(i){
document.form1.inputmezo.disabled = false;
}

Nos itt nem tudom hogy a "form1" helyére mit kéne írni, hogy mindig az éppen aktuális űrlapon vizsgálódjon :)

próbáltam pl form+i, meg "form"+i, meg ugy is hogy átküldöm az egész form[i]-t de nem helyettesítődik be az i változó hanem string-ként kezeli...

Biztos egyszerű a megoldás de nem vagyok otthon JavaScriptben.
Köszi a segítséget!
 
1

Összes form?

janoszen · 2008. Jan. 19. (Szo), 14.57
Szerintem, document.getElementsByTagName("form") visszaadja az összes formot, osztán abból ki tudod szaszerolni, hogy melyik formot is szeretnéd. :)
2

hogy?

Qkac · 2008. Jan. 20. (V), 18.11
okés... Hogyan? :D

mondjuk híreket küld be egy felhasználó, egy admin felületen azokat kilistázom és választógombbal akarok eldönteni valamit, mondjuk hogy egy input mezőt használva beállítok neki egy új tulajdonságot, vagy a meglevő tulajdonságok közül egy listából választom ki a neki megfelelőt. és ezt szeretném szépíteni azzal hogy kikapcsolom vagy az inputot vagy a listát ha nem az van bejelölve...

Most így több hír van ugye, mindegyik kap egy új form-ot phpban form1, form2, form stb. lesz egy ciklus segítségével.

Ha ezeket lekérem javascriptben még nemlettem okosabb mert minden formban ugyan az van.

Más ötlet? :)
3

A változó értékének kinyerésével van a problémám

Qkac · 2008. Jan. 21. (H), 15.37
A form nevét át is tudom küldeni mert onclick esemény hívja meg a függvényt, és ki is tudom íratni addig működik, az egyetlen gondom, hogy amikor a document.i.inputmező -s rész jön akkor nem tudom hogy mondjam meg neki hogy az i az nem egy string hanem egy változó.

Itt egy példa:
function bal(i){
document.formneve.inputmezo.disabled = false;
document.formneve.kategoriak.disabled = true;
}

ennél a példánál a 'formneve' részt kéne átcserélni az i-ben érkezett string-re..

Ha phpről lenne szó, akkor a változót jelzi a $-jel, de javascriptben hogy mondom meg neki
hogy a document.i.inputmezo.disabled az egy változó legyen... aminek az értékét kezelje?
Köszi!
5

szabványos elérés

Hodicska Gergely · 2008. Jan. 23. (Sze), 08.28
document.formneve.inputmezo.disabled = false;
Nem tudom, hogy ezt a megadási formát manapság hogy támogatják a böngészők, de a szabványos megadási forma ez lenne: documents.forms['formneve'].elements['elemneve'], és ez esetben könnyedén tudsz változókat is használni a tömbindexeknél.


Üdv,
Felhő
4

Megvan a megoldás

Qkac · 2008. Jan. 21. (H), 15.59
Na sikerült rájöjjek, az egész nem nehéz, de egy kezdő számára, mint én még újat mondhat, ugy a legegyszerűbb az ilyet megoldani, ha a form id-jét küldöd át a függvény paraméterében, és utána a getElementById(i) -vel könnyen hivatkozhatunk rá. a teljes kód mégegyszer hátha valakinek segít:

<script language='javascript' type='text/javascript'>
<!--
function bal(i){
document.getElementById(i).inputmezo.disabled = false;
document.getElementById(i).kategoriak.disabled = true;
}
function jobb(i){
document.getElementById(i).inputmezo.disabled = true;
document.getElementById(i).kategoriak.disabled = false;
}
//-->
</script>

<form id='form1' >
<input name='radiobutton' type='radio' onClick='bal("form1")' />
<input name='radiobutton' type='radio' onClick='jobb("form1")' />
</form>

vagy valami hasonló :)
Üdv!