Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
?HTML-ben a Flash átméretezés torzul
Eredeti mezőnevek lekérdezése
?Input mezőből visszakapott adat probléma
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

Select választásra input disabled

»

Select választásra input disabled

nyitotta: Rox, idő: 2010.03.15., moderátor: Árnyék
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Programozási nyelvek » JavaScript
Web-programozás » HTML

Sorrend:
Időzóna:
Blokkméret:
Sziasztok!

Egy "disabled" problémám lenne...
Van egy formom, ahol felvinni és módosítani is lehet adatokat.
Ez tartalmaz egy select mezőt is.
Azt szeretném, ha a select mező tartalmától függően tiltsak le egy input mezőt...
Egy ideig eljutottam, csak nem tökéletes:

<select name="nyp" id="nyp" onChange="if (nyp.options[nyp.selectedIndex].value=='' || nyp.options[nyp.selectedIndex].value=='0') {document.getElementById('nypaz').disabled=true;} else {document.getElementById('nypaz').disabled=false;}">
  <option value="">válassz!</option>
  <option value="0">nem akarok</option>
  <!-- ez az adatbázisból kerül ide -->
  <option value="1">első</option>
  <option value="2">második</option>
  <option value="3">harmadik</option>
  <!-- eddig -->
</select>

<input type="text" size="40" name="nypaz" id="nypaz" value="">

Röviden azt szeretném elérni, hogy ha a kiválasztott option érték 0 vagy "üres", akkor disabled legyen az input...
ez működik is, de CSAK akkor ha a select-ben kiválasztok vmit...
tehát ha a form beolvasásakor (oldal betöltése) pl 0 az option érték, akkor nem lesz disabled az input mező...

remélem érthetően fogalmaztam :S

Segítségeteket előre is köszönöm!

az alapból disabled-re állítás pedig azért nem jó, mert ha az érték 1... valamennyi, akkor meg ott ugye nem kellene a tiltás...

<input type="text" size="40" name="nypaz" id="nypaz" value="" disabled>
Ezt én is próbáltam...

lehet, h nem fogalmaztam egyértelműen, de az adatbázis beolvasásakor az van kijelölve - selected -, ami az adatbázisban van...

ezzel az a baj, h ha alapból pl az "első" a selected, akkor is disabled az input...
aszerint, hogy mit jelölsz ki a php-vel, állítod be a disabled-t.
ne javascriptet használj az oldal betöltésekori állapotra!
ebben viszont neked van igazad!

tudnál abban segíteni, hogyan tudom összehangolni a select kiválasztott értékét (js) egy php változóval?
<input type="text" size="40" name="nypaz" id="nypaz" value="" <?php echo ($_POST['nyp']==0)?"disabled":"";?>>
ha az "első" van kiválasztva, tehát az értéke '1', akkor is tiltva van az input...
mit csinálok rosszul?

<select name="nyp" id="nyp" onChange="if (nyp.options[nyp.selectedIndex].value=='' || nyp.options[nyp.selectedIndex].value=='0') {document.getElementById('nypaz').disabled=true;} else {document.getElementById('nypaz').disabled=false;}">
  <option value="">válassz!</option>
  <option value="0">nem akarok</option>
  <!-- ez az adatbázisból kerül ide -->
  <option value="1" selected>első</option>
  <option value="2">második</option>
  <option value="3">harmadik</option>
  <!-- eddig -->
</select>

<input type="text" size="40" name="nypaz" id="nypaz" value="" <? echo ($_POST['nyp']==0)?" disabled":"";?>>
Mi alapján kerül ki a selected jelzés az option-ra? Ugyanaz alapján kellene a disabled-et is kirakni.
<input type="text" size="40" name="nypaz" id="nypaz" value="" <? echo (isset($_POST['nyp']) && ($_POST['nyp']==0 || $_POST['nyp']=="")?" disabled":"";?>>

De mitől van az első kiválasztva?
Egy trükk:

<select name="nyp" id="nyp" onChange="valt(this)">
  <option value="">válassz!</option>
  <option value="0">nem akarok</option>
  <!-- ez az adatbázisból kerül ide -->
  <option value="1" selected>első</option>
  <option value="2">második</option>
  <option value="3">harmadik</option>
  <!-- eddig -->
</select>



<input type="text" size="40" name="nypaz" id="nypaz" value="">

<script>
function valt(x)
{
document.getElementById('nypaz').disabled=(x.options[x.selectedIndex].value=='' || x.options[x.selectedIndex].value=='0')
}
valt(document.getElementById('nyp'))
</script>
A trükköd nagyon tetszik, főleg azért mert "magától" működik, tehát nem kell hozzá php változó :)

honnan vannak a value-k? egy tábla id-je, de nem akartam így megoldani...

Köszönöm a trükköd tökéletes
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Hack100
»Riha60
»Akhiles50
»mrchandra50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen