Autor | Zpráva | ||
---|---|---|---|
Pavka Profil |
#1 · Zasláno: 11. 10. 2005, 22:42:28
Ahoj,
potřeboval bych vytvořit modální dialog, který by obsahoval formulář s několika checkboxy a po potvrzení by hodnoty těch checkboxů nastavil prvkům hidden oknu ze kterého byl volán. Víte jak na to? |
||
PerToon Profil |
#2 · Zasláno: 11. 10. 2005, 22:44:55
Ještě jednou a podrobně a jednoduše, prosím.
Chceš vybráním checkboxu nastavit něčemu hidden? |
||
Radek Hrabůvka Profil |
#3 · Zasláno: 12. 10. 2005, 04:20:05
Pavka Modální dialog umí jen IE, to není dobré řešení.
|
||
OBr Profil |
#4 · Zasláno: 12. 10. 2005, 10:36:09
Modální dialog umí i Firefox.
|
||
OBr Profil |
#5 · Zasláno: 12. 10. 2005, 12:51:15
Pokoušel jsem se použít showModalDialog() u IE, ale nevím jak mu říci, do jakého okna má hodnotu předávat. Tak jsem použil jinou funkci: showModelessDialog(). Mohlo by to vypadat třeba takhle?
hlavni.htm
dialog.htm
|
||
Radek Hrabůvka Profil |
#6 · Zasláno: 12. 10. 2005, 18:08:21
OBr Díky, otestoval jsem, funguje v IE, FF, Opeře. Yuhů má na stránce Modální dialog příklad, který funguje jen v IE.
|
||
OBr Profil |
#7 · Zasláno: 12. 10. 2005, 18:57:35
No, v Opere to funguje, ale neni to modalni. Ale jestli vam to nevadi tak je to fajn.
|
||
Časová prodleva: 5 dní
|
|||
Pavka Profil |
#8 · Zasláno: 17. 10. 2005, 20:37:24
Promiňte, že jsem nereagoval, ale byl jsem mimo net.
Takže pokusím se to vysvětlit znovu... Nemusí to být ani modální dialog, ale prostě potřebuju otevřít okno ve kterém bude několik checkboxů. <input type="checkbox" name="per_1"....> ... <input type="checkbox" name="per_27"....> Při potvrzení formuláře se okno zavře a v původním oknu (odtud byl dialog otevřen) se nastaví všem prvkům hidden označených jako per_1 - per_27 nastavena hodnota podle toho, jestli byl checkbox zaškrknut (1) nebo nikoliv (0). |
||
habendorf Profil |
#9 · Zasláno: 17. 10. 2005, 21:04:37
Při potvrzení formuláře se okno zavře a v původním oknu (odtud byl dialog otevřen) se nastaví všem prvkům hidden označených jako per_1 - per_27 nastavena hodnota podle toho, jestli byl checkbox zaškrknut (1) nebo nikoliv (0).
A která část z toho ti není jasná? |
||
Pavka Profil |
#10 · Zasláno: 17. 10. 2005, 22:25:16 · Upravil/a: Pavka
Jak z jednoho okna dostat hodnoty formulářových položek a nastavit je položkám v jiném oknu.
Ed.: Aha...teď jsem si všiml toho "opener", zítra to vyzkouším. |
||
Časová prodleva: 5 dní
|
|||
Pavka Profil |
#11 · Zasláno: 22. 10. 2005, 21:47:22
Ok, takže jsem to vyzkoušel, ale nějak mi to nefunguje. Všechno ok, jen se mi nedaří nastavit ty hodnoty :(
Mám nastavené id per_2 - per_27. function set_permissions() { opener.document.getElementById("per_2").value=document.getElementById ("per_2").value; opener.document.getElementById("per_3").value=document.getElementById ("per_3").value; opener.document.getElementById("per_4").value=document.getElementById ("per_4").value; opener.document.getElementById("per_5").value=document.getElementById ("per_5").value; opener.document.getElementById("per_6").value=document.getElementById ("per_6").value; opener.document.getElementById("per_7").value=document.getElementById ("per_7").value; opener.document.getElementById("per_8").value=document.getElementById ("per_8").value; opener.document.getElementById("per_9").value=document.getElementById ("per_9").value; opener.document.getElementById("per_10").value=document.getElementByI d("per_10").value; opener.document.getElementById("per_11").value=document.getElementByI d("per_11").value; opener.document.getElementById("per_12").value=document.getElementByI d("per_12").value; opener.document.getElementById("per_13").value=document.getElementByI d("per_13").value; opener.document.getElementById("per_14").value=document.getElementByI d("per_14").value; opener.document.getElementById("per_15").value=document.getElementByI d("per_15").value; opener.document.getElementById("per_16").value=document.getElementByI d("per_16").value; opener.document.getElementById("per_17").value=document.getElementByI d("per_17").value; opener.document.getElementById("per_18").value=document.getElementByI d("per_18").value; opener.document.getElementById("per_19").value=document.getElementByI d("per_19").value; opener.document.getElementById("per_20").value=document.getElementByI d("per_20").value; opener.document.getElementById("per_21").value=document.getElementByI d("per_21").value; opener.document.getElementById("per_22").value=document.getElementByI d("per_22").value; opener.document.getElementById("per_23").value=document.getElementByI d("per_23").value; opener.document.getElementById("per_24").value=document.getElementByI d("per_24").value; opener.document.getElementById("per_25").value=document.getElementByI d("per_25").value; opener.document.getElementById("per_26").value=document.getElementByI d("per_26").value; opener.document.getElementById("per_27").value=document.getElementByI d("per_27").value; } při kliknutí na tlačítko volám funkce: set_permissions();window.close(); ale ty hodnoty mi to nenastavuje :( |
||
Časová prodleva: 3 dny
|
|||
Pavka Profil |
#12 · Zasláno: 25. 10. 2005, 17:14:22
Ať se snažím, jak se snažím, tak mi to nejde. Nevíte někdo v čem je chyba?
|
||
Fred Profil |
#13 · Zasláno: 25. 10. 2005, 18:45:18
Pavka Dej sem odkaz, tohle je k ničemu. BTW máš to zbytečně dlouhý, checkbox má defaultní hodnotu on, nevíme jak ověřuješ stav zaškrtnutí checkboxu, nevíme jestli tam máš id (viz. příspěvek nad Habendorfovým) atd. Může to fakt být spousta věcí.
|
||
Pavka Profil |
#14 · Zasláno: 25. 10. 2005, 21:23:18 · Upravil/a: Pavka
Well...
|
||
Chamurappi Profil |
#15 · Zasláno: 25. 10. 2005, 21:35:54
Reaguji na Pavku:
Nenastavuj vlastnost value, ale checked. |
||
Pavka Profil |
#16 · Zasláno: 26. 10. 2005, 18:49:36
Eh, proč ne? Když je pole zaškrtlé, tak odešle hodnotu, jinak neodešle nic.
A jestli jsi myslel v tom javascriptu, tak mi to nefungovalo ani s checked. |
||
Fred Profil |
#17 · Zasláno: 26. 10. 2005, 23:42:11
Bude to delší, takže se omlouvám předem. Snad to fórum moc nerozbije, nejsem doma, tak to nemůžu nikam poslat, nepamatuji si hesla.
1/ okno co to otvírá, název libovolný <script type="text/javascript"> <!-- function pop(){window.open("pop.html","okno","");} window.onload=function(){if(document.getElementById && document.createElement){pop();}} //--> </script> </head> <body> <div id="oblast"> <input type="checkbox" id="per_2" /> <input type="checkbox" id="per_3" /> <input type="checkbox" id="per_4" /> <input type="checkbox" id="per_5" /> <input type="checkbox" id="per_6" /> <input type="checkbox" id="per_7" /> <input type="checkbox" id="per_8" /> <input type="checkbox" id="per_9" /> <input type="checkbox" id="per_10" /> <input type="checkbox" id="per_11" /> <input type="checkbox" id="per_12" /> <input type="checkbox" id="per_13" /> <input type="checkbox" id="per_14" /> <input type="checkbox" id="per_15" /> <input type="checkbox" id="per_16" /> <input type="checkbox" id="per_17" /> <input type="checkbox" id="per_18" /> <input type="checkbox" id="per_19" /> <input type="checkbox" id="per_20" /> <input type="checkbox" id="per_21" /> <input type="checkbox" id="per_22" /> <input type="checkbox" id="per_23" /> <input type="checkbox" id="per_24" /> <input type="checkbox" id="per_25" /> <input type="checkbox" id="per_26" /> <input type="checkbox" id="per_27" /> </div> 2/okno co to posílá do toho opneru v tomhle případě název pop.html <script type="text/javascript"> <!-- function posliDoOpeneru(){ for(var i=2;i<28;i++){ opener.document.getElementById("per_"+i).value=document.getElementById ("per_"+i).value; if(document.getElementById("per_"+i).value==1){opener.document.getElem entById("per_"+i).setAttribute('checked','checked')} }} function nastavHodnotu(){ var obl=document.getElementById('oblast'); var co=obl.getElementsByTagName('input'); for(var i=0;i<co.length;i++){ if(co[i].getAttribute('type')=='checkbox'){ co[i].value=0; co[i].onclick=function(){ if(this.checked){this.value='1';} else {this.value='0';} } } } } window.onload=function(){if(document.getElementById && document.createElement){nastavHodnotu();}} window.onunload=function(){if(document.getElementById && document.createElement){posliDoOpeneru();}} //--> </script> </head> <body> <div id="oblast"> <input type="checkbox" id="per_2" /> <input type="checkbox" id="per_3" /> <input type="checkbox" id="per_4" /> <input type="checkbox" id="per_5" /> <input type="checkbox" id="per_6" /> <input type="checkbox" id="per_7" /> <input type="checkbox" id="per_8" /> <input type="checkbox" id="per_9" /> <input type="checkbox" id="per_10" /> <input type="checkbox" id="per_11" /> <input type="checkbox" id="per_12" /> <input type="checkbox" id="per_13" /> <input type="checkbox" id="per_14" /> <input type="checkbox" id="per_15" /> <input type="checkbox" id="per_16" /> <input type="checkbox" id="per_17" /> <input type="checkbox" id="per_18" /> <input type="checkbox" id="per_19" /> <input type="checkbox" id="per_20" /> <input type="checkbox" id="per_21" /> <input type="checkbox" id="per_22" /> <input type="checkbox" id="per_23" /> <input type="checkbox" id="per_24" /> <input type="checkbox" id="per_25" /> <input type="checkbox" id="per_26" /> <input type="checkbox" id="per_27" /> </div> 3/funkčnost ověříš tak, že po odklikání nějakých checkboxů v tom popupu, napíšeš do adresního řádku toho openeru bookmarklet javascript:document.write(document.documentElement.innerHTML); document.close(); , to vypíše generovaný zdroj a necháš si normálně zobrazit zdrojový kód. Ty co jsi odškrtal budou mít navíc attribut checked="checked" a nastavenou hodnotu value="1" . 4/testováno IE6 a Firefox funguje to. |
||
Fred Profil |
#18 · Zasláno: 26. 10. 2005, 23:43:51
tady se to nemělo zlomit
if(document.getElementById("per_"+i).value==1){opener.document.getElem entById("per_"+i).setAttribute('checked','checked')} jinak to vypadá v pořádku. |
||
Fred Profil |
#19 · Zasláno: 27. 10. 2005, 11:49:28
Tak jsem chvilku doma a uploadoval jsem ti to sem http://xy.wz.cz/spoluprace-oken/pop.html . Funguje to v IE5+, Gecko jádro, v Opeře to netuším proč nejde, ale nemám teď čas, jedině zítra.
|
||
Časová prodleva: 9 dní
|
|||
Fred Profil |
#20 · Zasláno: 5. 11. 2005, 06:34:07
Fred To mi nikdo nemůže říct Frede nefunguje to! Dal jsem se odkaz na to otevírané okno, to je pak těžký. Mělo to být tady http://xy.wz.cz/spoluprace-oken/index.html
|
||
Časová prodleva: 5 měsíců
|
|||
honza civin Profil |
#21 · Zasláno: 6. 4. 2006, 10:35:39
Ahoj. Nevite proc nefunguje TreeView v okne showModalDialog??
Dik |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0