Autor | Zpráva | ||
---|---|---|---|
Enko Profil |
#1 · Zasláno: 4. 9. 2014, 15:03:15 · Upravil/a: Enko
Ahoj,
jsem naprostý začátečník v Javascriptu a hledám jak udělat aby mi ve formuláři níže: <input type="text" name="jmeno" value="" id="jmeno"> <select name="rolovatko" id="rolovatko"> <option value="">...</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> Děkuji za každou radu Tak už jsem si poradil: <input type="text" name="jmeno" value="" id="jmeno"> <select onchange="dopln()" name="rolovatko" id="rolovatko"> <option value="">...</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <script type="text/javascript"> function dopln() { document.getElementById('jmeno').value = document.getElementById('rolovatko').value; } </script> |
||
Kajman Profil |
Enko:
„protože na jedné stránce budu mít víc stejných funkcionalit“ Pak je lepší cíl předat jako parametry a hodnotu načítat z this. Něco jako function dopln(id, vzor) { var cil = document.getElementById(id); if(cil && vzor.options) { cil.value = vzor.options[vzor.selectedIndex].value; } } Volání pak bude onchange="dopln('jmeno', this)" |
||
Enko Profil |
#3 · Zasláno: 5. 9. 2014, 13:05:18
Kajman:
Luxus! Děkuju :) |
||
Chamurappi Profil |
Reaguji na Enka:
Pokud jsou ve stejném formuláři, napsal bych to: <select onchange="this.jmeno.value = this.value"> Edit: ↓ Ou, pardon, jsem na ten form zapomněl. Mně to přišlo nějak podezřele krátké :-)
|
||
1Pupik1989 Profil |
#5 · Zasláno: 5. 9. 2014, 13:26:48
Jen opravím Chamurappiho.
this.form.jmeno.value = this.value; Nicméně souhlasím. Je to nejčistější a nejkratší zápis. |
||
Kajman Profil |
#6 · Zasláno: 5. 9. 2014, 14:53:29
A nehrozí tam kolize použitého jména s nějakou vlastností formuláře?
|
||
Chamurappi Profil |
#7 · Zasláno: 5. 9. 2014, 15:40:52
Reaguji na Kajmana:
Kolize by hrozila zejména té vlastnosti formuláře. Když by měl nějaký formulářový prvek name="submit" , pak by v this.form.submit byl ten prvek a ne standardní metoda na odeslání.
|
||
Časová prodleva: 7 dní
|
|||
Enko Profil |
#8 · Zasláno: 12. 9. 2014, 10:03:44
Děkuji všem za pomoc. Používám řešení s this.... netušil jsem, jak to může být jednoduché. Děkuji :-) Ovšem bych ještě rád trochu něco vylepšil.
Mám toto: <input type="text" name="uid" value="" id="uid"> <select name="uid_rolovatko" id="uid_rolovatko"> <option value="">...</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type="text" name="jmeno" value="" id="jmeno"> <select name="jmeno_rolovatko" id="jmeno_rolovatko"> <option value="">...</option> <option value="jmeno1">jmeno1</option> <option value="jmeno2">jmeno2</option> <option value="jmeno3">jmeno3</option> </select> $emp[0]["code"]= 1234; //unikatni kod uzivatele $emp[0]["name"]= "jmeno uzivatele1";//jmeno uzivatele $emp[1]["code"]= 1235; //unikatni kod druheho uzivatele $emp[1]["name"]= "jmeno uzivatele2";//jmeno druheho uzivatele //... atd... Pokud ze selectu "uid_rolovatko" vyberu a kliknu na nějakou hodnotu aby se doplnilo zároveň i správné jméno do inputu "jmeno" podle pole výše. Nebo když vyberu a kliknu na jméno ze selectu "jmeno_rolovatko", aby se zároveň doplnilo i správné uid inpuput "uid". Podle mě to bude hrozně jednoduché, a možná by se mi to podařilo nějak zbastlit, ale raději si nechám poradit :-) budu rád za každou radu. |
||
Kajman Profil |
#9 · Zasláno: 12. 9. 2014, 11:02:30
Když ty údaje spolu souvisí, nemá tam být jen jedno rolovátko? Kde value bude jeho id a uživatel uvidí jeho jméno?
<select name="uzivatel_rolovatko" onchange="this.form.uid.value=this.value; this.form.jmeno.value=this.options[this.selectedIndex].text;"> <option value="">...</option> <option value="1234">jmeno1</option> <option value="1235">jmeno2</option> <option value="1233">jmeno3</option> </select> |
||
Enko Profil |
#10 · Zasláno: 12. 9. 2014, 11:55:48
Kajman:
Ano, takto to je samozřejmě perfektní řešení. Děkuju :-) |
||
Časová prodleva: 22 dní
|
|||
Dano_V Profil * |
#11 · Zasláno: 4. 10. 2014, 23:49:39
Reagujem na
Kajman: Toto je vynikajúce riešenie! Keby sa takýmto spôsobom dalo vypísať aj poradové číslo vybranej položky, alebo to aj poslať do funkcie, - dajme tomu kontrola() - bolo by to vynikajúce a pomohlo by to aj mne. |
||
Časová prodleva: 10 let
|
0