Autor Zpráva
WeeHool
Profil
Zdravíčko.. mám strašně velkej forumulář.. pro představu:
<input type="hidden" name="pocet[0]" value="0">

                <input type="hidden" name="shop[0]" value="2">

                <input type="hidden" name="popis[0]" value="&nbsp;">

                <input type="hidden" name="image[0]" value="http://www.1001svetel.cz/img/aida-stropni-svetlo.jpg">

                <input type="hidden" name="cena[0]" value="10275">

                <input type="hidden" name="goto[0]" value="http://www.1001svetel.cz/product/aida-stropni-svetlo">

                <input type="text" name="nazev[0]" value="Světlo Dekorační svítidla Aida stropní světlo" maxlength="64" class="text05">


                <div class="sloupec15"><select name="kategorie[0]" class="select06"><option value="0">vyberte</option><option value="4">druhá hlavní</option><option value="5">pod první druhou</option><option value="6">ta další pod nima</option><option value="1">první</option><option value="2">druhá pod první</option><option value="3">třetí pod druhou</option></select></p></div>

                <input type="checkbox" name="check[0]">

..asi 1000x

takže maciální doba scriptu se překračuje nebo max_input_vars

a já bych potřeboval buď aby se odeslaly jen produkty u kterých bude zaškrtnuto check nebo doporučit hosting, kde se budou moci tyto hodnoty nastavit. I placený samozřejmě.
mimochodec
Profil
A nemáš pocit, že by stálo za to trochu pozměnit návrh té aplikace?
WeeHool
Profil
potřebuju poslat do databáze hromadně informace o všech produktech..

jako jestli někdo má lepší způsob, jak to provést s tou možností, aby bylo možno proměnné upravovat, zvolit ručně kategorii produktu (protože tu ve většině feedů člověk nenajde), budu jen rád..
mimochodec
Profil
WeeHool:
Tak trochu líp popiš zadání. Kdyby po mně někdo chtěl, abych editoval formulář o tisíci položkách, zeptám se jestli se nezbláznil. Riskuješ, že v jednom okamžiku přijdeš o hodiny práce. Rozděl to na dávky třeba po dvaceti.
WeeHool
Profil
no jak tu mám tyhle položky, tak se to stále opakuje..
a nešlo by právě nějak udělat, aby se odeslaly jen ty, u kterých zaškrtnu checkbox?? třeba přes js bo tak něco..
Tori
Profil
WeeHool:
potřebuju poslat do databáze hromadně informace o všech produktech..
To znamená, že ten formulář generujete z nějakého souboru (xml apod.)? Nemůžete ten zdroj dat číst postupně po částech (např. po 50 položkách) a po těch částech taky odesílat? I pro člověka, co s tím formulářem pracuje, to bude přehlednější + méně náchylné na chybu.
WeeHool
Profil
jo to mě napadlo taky.. s formulářem budu pracovat já.. a právě.. řekneme, že tam bude přes 500 nástěnných světel.. jedním kliknutím je můžu všechny označit, jedním selectem pak můžu všem vybrat stejnou kategorii.. že jo, přes js..
a právě by pro mne bylo rychlejší, když bych těch 500 produktů měl na jedný stránce a mohl je uložit najednou než 10x po 50ti..

a co ten checkbox?? nejde udělat nějak.. dám příklad..

když zaškrtnu checkbox s názvem:
$check[4]
tak u
$nazev[4]
$popis[4]
..

se změní třeba class z neodeslat na odeslat a při stisknutí odesílacího tlačítka se odešlou jen položky s classem odeslat..

šlo by to??
jenikkozak
Profil
WeeHool:
a právě by pro mne bylo rychlejší, když bych těch 500 produktů měl na jedný stránce a mohl je uložit najednou než 10x po 50ti..
Vidím v tom formuláři hromadu skrytých polí, která se stejně nemění. Nebylo by lepší produktům přidělit id? To by se vložilo do formuláře třeba jako skryté pole. Tím byste ušetřil 5000 políček. A název také nemusí být v políčku, může být jako popisek. Pokud jsem tedy správně pochopil, že tento formulář má sloužit jen ke změnám kategorií u jednotlivých produktů.
WeeHool
Profil
ne i názvů právě a popisů..ty sem tam zapoměl dát do tohoto kódu.. mám je v jiným divu, protože ho slideuju pomocí jquery.. aby ten formulář nesměřoval od měsíce k jádru země.. nemění se akorát cena, shop.. a to je asi tak celý.. no akorát sem si všiml, že tam mám popis dvakrát, podruhý v textarea..
teoreticky by šlo odeslat jen neskryté položky a ty skryté by se po odeslání načetli znovu z xml feedu, ale to si myslím, že taky není efektivní..
Joker
Profil
WeeHool:
se změní třeba class z neodeslat na odeslat a při stisknutí odesílacího tlačítka se odešlou jen položky s classem odeslat..
Možná by fungovalo místo class těm políčkům nastavit disabled. Taková políčka se s formulářem neodešlou.

teoreticky by šlo odeslat jen neskryté položky a ty skryté by se po odeslání načetli znovu z xml feedu
A proč tam ty skryté vůbec jsou?
WeeHool
Profil
no nejsou potřeba upravovat.. cenu musím zachovat stejnou, protože záleží na eshopu, takže i políčko e-shop zůstává stejný.. to je tam pro to, aby jiný script věděl, když bude kontrolovat aktuálnost informací, jaký feed má použít.. a tak..

disabled.. taky mě to napadlo..
když chci kliknutím na celý div zaškrtnout, používám jquery:

$('.produkt').toggle(
       function(event) {
         $(this).find('input').attr('checked', true);
       },
       function(event) {
         $(this).find('input').attr('checked', false);
       }
     ); 
pak jsem zkoušel do toho přidat
function(event) {
         $(this).find('input').attr('disabled', true);
       },
       function(event) {
         $(this).find('input').attr('disabled', false);
       }

..ale to ani nevím, jestli je dobře a stejně to dělalo divočinu

ale.. když vynechám jquery
jak by byl js, když kliknu na checkbox, řekněme ten check[4], aby se položky nayev[4], popis[4], ... změnili z disabled a na disabled??
mimochodec
Profil
WeeHool:
Co s těmi daty vůbec děláš? Odkud je bereš a kam je dáváš? Místo všech těch hiddenů bys mohl mít jeden, kde by bylo ID.
WeeHool
Profil
z xml načtu do formuláře a ten odešlu do databáze.. ale právě mám možnost úravy a díky checkboxu se mi uloží jen vybrané položky..

hej ale už sme se pohli, tak mi prosím pomozte s tím scriptem na disabled..
Sir Tom
Profil
WeeHool:
s formulářem budu pracovat já
řekneme, že tam bude přes 500 nástěnných světel.. jedním kliknutím je můžu všechny označit, jedním selectem pak můžu všem vybrat stejnou kategorii.. že jo, přes js..

Proč přes JavaScript? Jen aby to lépe vypadalo? Jestliže jsi správcem pouze ty, tak stačí se naučit MySQL, které dokáže docela snadno měnit údaje o produktech.
Podívej se, jak jsou řešeny různé administrační rozhraní různých internetových obchodů (např. Prestashop). Tam se vždy upravuje každá položka jednotlivě, ale jsou tam i odkazy na hromadné změny (typu - nastavit všem produktům tuto kategorii, nastavit všem produktům tohto výrobce tuto cenu, apod.). Nebylo by tedy lepší jít touto cestou než přes JS?
WeeHool
Profil
ach jo.. místo řešení problému kritizování.. a přitom pouhé nepochopení:

bude tam 500 produktů, tím pádem 501 selectů.. a tím 1 navíc budu měnit všech 500 selectů - tadyk bude js.. jinak klasika formulář..

tak už mi někdo v js poradí?? zkoučím něco jako

$('input:checkbox').live('click' , function(){
            function(event) {
              $(this).prev('input:text').attr('disabled', false);
            },
            function(event) {
              $(this).prev('input:text').attr('disabled', true);
            }
    })
zatím mi to faká ale jen takhle:
/*$('.produkt').toggle(
       function(event) {
         $(this).find('input:text').attr('disabled', false);
         $(this).find('input').attr('checked', true);
       },
       function(event) {
         $(this).find('input:text').attr('disabled', true);
         $(this).find('input').attr('checked', false);
       }
    ); 

..ale to nechcu.. proč?? kliknu pak na input text nebo select a jak disabled tak checked se změní..

chtěl bych prostě kliknout na checkbox.. změní se input:text
a označovat si to budu prostě boxem..


prostě.. aby to vyhledalo nejbližší předchozí a ten změnilo..
_es
Profil
WeeHool:
ach jo.. místo řešení problému kritizování.. a přitom pouhé nepochopení:
Nepochopenie je na tvojej strane, prerob si to do nejakého normálneho stavu, ale to ti radil už v [#2] mimochodec.

zkoučím něco jako
To je nejaký nezmyselný kód, čo by mali tie vnorené funkcie vo funkcii robiť? Veď nebudú vôbec zavolané.

zatím mi to faká ale jen takhle:
Prečo predávaš metóde toggle dva argumenty - funkcie? Nevieš si tú metódu nájsť v dokumentácii?
WeeHool
Profil
sorry, co teďka napišu..
ale na tohle se nikdo neptal.. buď držte hubu a nebo buďte k něčemu a poraďte..
chci jen nějakej jednoduchej skript v nějakým tvaru, kterej sem popisoval výše, pro jquery, co mi to udělá.. tím se můj problém vyřeší..


js rozumím asi jako koza politice ;-)


z toho nesmyslnýho kódu už sem udělal:
$('input:checkbox').click (
        function(event) {
         $(this).prev('input:text').prop('disabled', false);
       },  
        function(event) {
         $(this).prev('input:text').prop('disabled', true);
       }
    )
a stejně to nejde


prostě zkouším všechno, co internet na tohle vyhodí..


prostě:
<div class=produkt>
    <input type=text disabled>
    <input type=checkbox>
</div>
<div class=produkt>
    <input type=text disabled>
    <input type=checkbox>
</div>
...
kliknu na checkbox, změní se disabled..


a už prosím nepište odpovědi na otázky, na který jsem se neptal.. děkuji..
_es
Profil
WeeHool:
js rozumím asi jako koza politice ;-)
Ale metódu click si v dokumentácii jQuery snáď nájsť dokážeš. Prečo jej predávaš dva argumenty-funkcie?
WeeHool
Profil
a proč se mě ptáš furt na něco místo odpovědi na otázky, na který se ptám já??
Chamurappi
Profil
WeeHool:
sorry, co teďka napišu.. buď držte hubu a nebo buďte k něčemu a poraďte
Co kdyby sis trhnul nohou? Chrlíš zvláštní otázky, duplikuješ je, všechny se velmi pravděpodobně týkají jednoho úkolu, na který zjevně sám nestačíš, a na lidi, kteří ti zadarmo věnují čas a snaží se ti pomoct, jsi nepříjemný. Najdi si nějaké poslušnější sluhy na jiné diskusi.
WeeHool
Profil
hej sorry jo.. ale většinou, když se zeptám: jak se maže máslo na rohlík, sem zvyklej, že dostanu odpověď a ne, že se mě lidi začnou ptat, proč si nedám chleba ;-)


to je jako bych se tě teďka napsal, proč si napsal diskusi a ne diskuzi??
Sir Tom
Profil
WeeHool:
když se zeptám: jak se maže máslo na rohlík, sem zvyklej, že dostanu odpověď a ne, že se mě lidi začnou ptat, proč si nedám chleba ;-)
To překrucuješ. Otázka spíše zněla, jak to udělat a spousta lidí ti zde napsala, jak by to šlo. Někteří ti napsali i to, jak by to šlo lépe, efektivněji, atd. Takže jsme ti vlastně poradili, aby sis nemazal rohlík vidličkou, ale nožem.

buď držte hubu a nebo buďte k něčemu a poraďte
Tímto sis perfektně odradil potenciální pomahače.

hej sorry jo..
A tímto to už nespravíš. Je lepší být nenáviděn pro to, jaký jsi, než být milován pro to, co nejsi.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: