Autor | Zpráva | ||
---|---|---|---|
kopi Profil |
#1 · Zasláno: 4. 9. 2017, 10:12:16
Zdravím,
může mi někdo poradit, proč mi nefunguje tento případ? <select name="doba"> <option value="">Vše</option> <option value="12">12 měsíců</option> </select> formulář odesílám pomocí GET a v tomto případě se mi option vůbec neodesílá. Pokud to zadám takto, tak to funguje. <select name="doba"> <option value="">Vše</option> <option value="12">12</option> </select> Děkuji |
||
Keeehi Profil |
#2 · Zasláno: 4. 9. 2017, 10:35:57
Hodnota optionu (a i celková funkčnost selectu) není závislá na jeho obsahu. Musí fungovat úplně stejně jak první tak i druhý příklad. Teda možnost tu je - máš na stránce nějaký javascript který nějak "vylepšuje" chování selectů. Pak by to teoreticky mohlo něco rozbíjet. Pokud je to ale ten případ, nemůžeme ti více poradit dokud nám neukážeš nějakou stránku, na které to nefunguje.
|
||
Bubák Profil |
#3 · Zasláno: 4. 9. 2017, 13:39:10
kopi:
„v tomto případě se mi option vůbec neodesílá“ Neodesílání jsi zjistil jak? Koukal ses do vývojářských nástrojů? Každopádně jsou obě ukázky funkčně shodné, odesílá se obsah atributu value , obsah elementu option nemá na odesílaná data žádný vliv.
Jako první bych doporučil podívat se ve vývojářských nástrojích, co je v atributu value , zda je tam něco jiného, než ve zdrojáku a pokud ano, zkusit co to udělá po vypnutí javascriptu.
|
||
kopi Profil |
Bubák:
Že se neodesílá jsem zjistil z url - form se odesílá pomocí get. takže vidím i hodnotu value v url - teda u druhé varianty. U první varianty se proměnná "doba" vůbec do url nedostane, z toho jsem usoudil, že se to neodeslalo. Asi to bude někde, jak říkal Keeehi nějaký javascript. Zkustím tvoji radu a vypnu ho. Keeehi: asi máš pravdu, bez povoleného javascriptu selecty nejdou ani rozvinout. |
||
_es Profil |
#5 · Zasláno: 4. 9. 2017, 19:14:45
|
||
kopi Profil |
_es:
já vím, když nechám očesaný select, tak funguje, ale je obalený nějakými JS funkcemi apod. JS bohužel moc neovládám, tak uplně nevím, kde hledat a hlavně co by to mohlo způsobovat Keeehi: Může to být něco z tohodle skriptu, co jsem našel v souboru s JS? /** Custom select **/ $.fn.madCustomSelect = function () { return this.each(function(){ var list = $(this).children('ul'), select = $(this).find('select'), title = $(this).find('.select-title'); // select items to list items if($(this).find('[data-filter]').length){ for(var i = 0,len = select.children('option').length;i < len;i++){ list.append('<li data-filter="'+select.children('option').eq(i).data('filter')+'">'+select.children('option').eq(i).text()+'</li>') } } else{ for(var i = 0,len = select.children('option').length;i < len;i++){ list.append('<li>'+select.children('option').eq(i).text()+'</li>') } } select.hide(); // open list title.on('click',function(){ list.slideToggle(400); $(this).toggleClass('active'); }); // selected option list.on('click','li',function(){ var val = $(this).text(); title.text(val); list.slideUp(400); select.val(val); title.toggleClass('active'); return false; }); }); }, |
||
juriad Profil |
#7 · Zasláno: 4. 9. 2017, 23:31:06
kopi:
Ano, v tomto kusu kódu je chyba, jde o řádku 40. Snaží se to nahradit <select> za nějak nastylovaný <ul>, ale dělá to špatně (čehož jsi si už všimnul). Tento kód předpokládá, že value v option je stejné jako text (ve skutečnosti value úplně ignoruje a pak správnou option nenajde.
Můžeš se s tím smířit, nebo se to pokusit opravit (na řádce 17, 22 a 40). |
||
kopi Profil |
#8 · Zasláno: 4. 9. 2017, 23:35:50
juriad:
Díky. Poradíš mi, jak to upravit? já se v JS fakt vůbec nevyznám. |
||
Bubák Profil |
#9 · Zasláno: 5. 9. 2017, 01:12:09
juriad:
„Tento kód předpokládá, že value v option je stejné jako text “
To je velmi |
||
_es Profil |
#10 · Zasláno: 5. 9. 2017, 03:31:34
kopi:
„ale je obalený nějakými JS funkcemi apod.“ Ako „obalený“? Buď ten kód v HTML je alebo nie je. „JS bohužel moc neovládám“ Tak na čo tam ten JS vôbec je a kde sa tam vzal? A čo má robiť? V príbuznom vlákne ( odesílá se proměnná $_GET ve formuláři) ani v tomto (až do [#6]) o nejakom JS nič nie je. |
||
kopi Profil |
#11 · Zasláno: 5. 9. 2017, 08:55:08
_es:
Protože upravuju šablonu. Tady jsme se dobrali k tomu, že jediná možnost, proč to nefunguje je nějaký JS kod, který to ruší. Což jsem našel - jak mi tu potvrdil juriad. Teď jen potřebuju poradit, jak ten JS kod upravit, protože JS neumím. |
||
Tomášeek Profil |
#12 · Zasláno: 5. 9. 2017, 09:02:03
kopi:
Jestli mu nerozumíš a nevíš, kde a jak jej upravit, tak ho smaž. Dělá více problémů než užitku, select bude fungovat i bez něj (navíc lépe, na všech platformách, atp.). |
||
kopi Profil |
#13 · Zasláno: 5. 9. 2017, 09:03:54
Tomášeek:
asi bude jednodušší si nastylovat přes CSS vlastní selecty,vid? |
||
_es Profil |
#14 · Zasláno: 5. 9. 2017, 09:10:34
kopi:
„jediná možnost, proč to nefunguje je nějaký JS kod, který to ruší.“ Píšeš, že „bez povoleného javascriptu selecty nejdou ani rozvinout.“. Takže ak ti nejdú bez JS „rozvinúť“ dve možnosti "Vše" a "12 měsíců" tak zjavne v HTML kóde posielanom prehliadaču nie je kód z [#1].
|
||
Časová prodleva: 7 let
|
0