Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 16 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok NapísalOffline : 22.01.2011 3:56

cawte (toto bude asi na dlhsie :) )...viete mi poradit ako zjednotit akcie pre jednotlive druhy inputov??..

zatial mam iba

js:
Kód:
<script type="text/javascript">
            function checkFilter(){
                $(".filter").bind('click', function(e) {
                    var formName = e.target.form.name;
                    useFilter(formName);
                });
            }
           
            function useFilter(formName){
                alert("submit form: "+formName);
            }
</script>


form je v ukazke

potrebujem to na filtrovanie udajov
mam form nejaky...v nom inputy a checkboxy a selecty...

a potrebujem: pomoct s fciou teda zjednotit akcie pre input type=[text] (ked uzivatel prestane pisat )..checkbox (sa odskrtne alebo zaskrtne) a select (ak vyberie nejaku hodnotu)....bude to bez submit tlacitka....a ked cekne vsetky tieto akcie zavola dalsiu...ale ta uz nieje podstatna pre mna..

UKAŽKA


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 22.01.2011 11:17

Neviem presne čo chceš, nechce sa mi to takto po ránu čítať poriadne ale možno ti pomôžem:

Ak chceš vybrať všetky inputy, selecty a textarey použiješ
Kód:
$("input, select, textarea)
ak chceš reagovať na ich zmenu môžeš použiť
Kód:
.keydown(function(kodFcie){});//kodFcie sa aktivuje vždy pri stlačení tlačidla, ešte pred jeho uvoľnením
.keyup(function(kodFcie){});//kodFcie sa aktivuje po uvoľnení tlačidla
.focus(function(kodFcie){});//kodFcie sa aktivuje po kliknutí na element, teda ak napríklad ideš písať do inputu
.blur(function(kodFcie){});//kodFcie sa aktivuje keď si v inpute a klikneš inde, prípadne stlačíš tabulátor, teda opustíš element
.onchange(function(kodFcie){});//kodFcie sa aktivuje keď vojdeš do elementu(inputu), prepíšeš v ňom hodnotu a odídeš z neho. Prípadne ak vyberieš inú hodnotu v selecte. Aktivuje sa len v prípade, že hodnoty sú iní. Ak sú rovnaké pred úpravou aj po nej tak sa nestane nič.
A do kodFcie si dáš nejakú funkciu, ktorá sa má vykonávať pre každý zvolený element.

Snáď som pomohol.


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 22.01.2011 11:30

jj nice ....na select a checkboxy je dobry onchange (change v jquery)...ale ako zabezpecit aby sa vykonala tiez ak uzivatel pise do inputu a vykona sa az ked prestane pisat ?? alebo nejak inak to spravit aby to budilo dojem ze ta fcia sa aktivuje po tom co dopises text ?? ..ked na nho dam tiez change tak sa aktivuje ale az ked kliknes von z inputu


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 22.01.2011 11:46

Riešil by som to skombinovaním .keyup a časovača. Teda pri každom keyup by sa aktivovala fcia, ktorá by nastavila nejaký časovač. Po uplynutí času by stalo čo potrebuješ. Ak by sa znova stlačil kláves počas behu časovača, ten by sa začal počítať od znova. O časovaní máš pekne popísané tu: http://www.w3schools.com/js/js_timing.asp


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 22.01.2011 12:48

no spravil som to nejak takto...lenze ten time akoby sa mi nenuloval...prvykrat napocita 3000 ale dalej uz tu fciu pouzije zakazdym keyup

Kód:
var time = 0;
            var use_time = 3000;

            function checkFilter(){
                $("input[type=checkbox].filter").bind('change', function(e) {
                    var formName = e.target.form.name;
                    useFilter(formName);
                });
                $("select").bind('change', function(e) {
                    var formName = e.target.form.name;
                    useFilter(formName);
                });
                $("input[type=text].filter").bind('keyup', function(e) {
                    var formName = e.target.form.name;
                    time = 0;
                    timedCount(formName);
                });
            }

            function timedCount(formName){
                time = time+1;
                t = setTimeout("timedCount('"+formName+"')",1);
                if(time == use_time){
                    useFilter(formName);
                }
            }
           
            function useFilter(formName){
                alert("submit form: "+formName);
            }


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 22.01.2011 20:31

Načo to pcháš do fcie?


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 22.01.2011 21:00

Flety píše:
Načo to pcháš do fcie?

radsej to mam spravit ako??


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 22.01.2011 21:20

Kód:
var time = 0;
            var use_time = 3000;

            function checkFilter(){
//Toto nesmie byť vo funkcií. Načo si to sem dával?
//Teda, má to byť vo fcii $(document).ready(function(){ sem dáš všetko čo sa má vykonávať });
//Môžeš to spraviť tak ako to máš a potom tvoju fciu umiestníš do "document.ready" ale nie som si istý, či to tak pôjde, no malo by.
                $("input[type=checkbox].filter").bind('change', function(e) {...


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 22.01.2011 22:30

uz mi to ide...potrebujem to dat do fcie lebo tu fciu potrebujem incializovat neskor ked sa mi obsah zmeni...

este mam jeden problem ako zabezpecit to ked uzivatel pise tak pouzijem onkeyup...ale co ked tam iba vlozi pravym klikol vlozit?..potrebujem kontrolovat value toho inputu do ktoreho kliknem alebo budem pisat


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 22.01.2011 22:48

.change()


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 22.01.2011 23:46

lenze change sa aktivuje ked vypises input a kliknes niekde vonku z neho...a uzivatel nemusi kliknut nikde potom uz :/ ...


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 23.01.2011 13:04

Obávam sa, že bez toho aby užívateľ klikol inde filtrovať nebude. Hľadal som v dokumentácií ale myslím, že JS ešte nevie reagovať na prilepenie textu.


Offline

Čestný člen
Čestný člen
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 23.01.2011 13:20

Je mozne skombinovat udalosti onpaste (podporuje IE, Chrome a nejak zvlastne aj Firefox) + oninput (Firefox, Opera a Chrome), ale bude to vesele. Google pomoze.


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 23.01.2011 13:25

aha no nevadi...ale toto mi perfektne staci :)

este jedna chyba tam je...trocha to je spomalene v mozzile (aj chrome to iste)...akoby ten counting prebiehal dlhsie ako v opere ...nevies preco ??...

takto to mam teraz a ide to super okrem toho zpomalenia v mozile..
(ak tam hocikde nieco vidis co mam zle tak povedz)
Kód:
<script type="text/javascript">

        var time = 0;
        var t;
        var filtering = 0;
        var use_time = 700;

        function checkFilter(){
            $("input[type=checkbox].filter").bind('change', function(e) {
                var formName = String(e.target.form.name);
                useFilter(formName);
                clearTimeout(t);
                filtering = 0;
            });
            $("select.filter").bind('change', function(e) {
                var formName = String(e.target.form.name);
                useFilter(formName);
                clearTimeout(t);
                filtering = 0;
            });
            $("input[type=text].filter").bind('keyup', function(e) {
                var formName = String(e.target.form.name);
                time = 0;
                if(!filtering){
                  filtering = 1;
                  timedCount(formName);
                }
            });
        }

        function timedCount(formName){
            time = time+1;
            t = setTimeout("timedCount('"+formName+"')", 1);
            if(time==use_time){
                useFilter(formName);
                clearTimeout(t);
                filtering = 0;
            }
        }

        function useFilter(button){
            $(document).ready(function() {
                button = String(button);

                showLoading();

                $.ajax({
                    type : 'POST',
                    url: 'site.php/'+button+'/filter',
                    dataType : 'json',
                    data :   $("form").serialize(),
                    success : function(data){
                        if (data.error === true){
                            buildAlert('warning', data.msg);
                            $("#output").slideDown();
                        }else{
                            $("#table_"+button+" tr.filtered").hide();
                            for(x in data.y){
                                $("#table_"+button+" tr#nr-"+data.y[x]).show();
                            }
                            if (data.info !== null){
                                buildAlert('info', data.info);
                            }
                        }
                        hideLoading();
                    },
                    error : function(XMLHttpRequest, textStatus, errorThrown) {
                        alert("chyba");
                        hideLoading();
                    }
                });
                return false;
            });
        }
    </script>


// pridané po 39 sekundách od posledného príspevku

okey Ďuri ...pohľadam


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 03.01.11
Prihlásený: 21.02.11
Príspevky: 54
Témy: 1
Príspevok NapísalOffline : 24.01.2011 15:42

Kód:
function timedCount(formName){
            time = time+1;
            t = setTimeout("timedCount('"+formName+"')", 1);
            if(time==use_time){
                useFilter(formName);
                clearTimeout(t);
                filtering = 0;
            }
        }
sa cudujes? Dakujem pekne spustat kazdu milisekundu nejaky skript 700 krat. Ak to mas niekde komplet (aj s prislusnym html, nechce sa mi ho spatne budotovat podla tej DOM co tam pouzivas) tak to sem hod a skusim to pozret profilerom kde to najviac stoji


Offline

Užívateľ
Užívateľ
zaklad filtrovacieho systemu (kontrola akcii inputov)

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 25.01.2011 16:19

mam to tu ale len take zakladne nejake spravene...inak ti to ukazat nvm...mam to v admine...ale presne to iste tam je.. UKAZKA a tak isto to v mozile dlho robi...preto som tam dal kazdu milisekundu aby som si vedel nastavit optimalny cas ako dlho to ma cakat kym to odfiltruje

// pridané po 14 hodinách 30 minútach od posledného príspevku

dal som tam namiesto kazdej milisekundy kazdu 100 milisekundu ..to mi staci ked to chcem postnut po 700 milisekundach...a tie casy sa vyrovnali

Flety ďakujem za pomoc ;) :)

na to paste som pouzil $("input[type=text].filter").bind('keyup input', function(e) { ...
funguje to ale vobec nvm ako lebo som k tomu nic nenasiel...vie niekto kde to hladat?


Odpovedať na tému [ Príspevkov: 16 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Nejde dokončiť hĺbková kontrola systému

v Antivíry a antispywary

3

732

03.10.2011 16:21

Reverser Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kontrola systemu suboru na D:/

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Operačné systémy Microsoft

32

1038

31.07.2007 18:42

Devil_SK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Súčet inputov

v JavaScript, VBScript, Ajax

3

493

25.02.2012 12:30

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Overovanie inputov

v JavaScript, VBScript, Ajax

5

532

28.01.2009 0:23

Blackdevil Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ochrana inputov

v PHP, ASP

2

357

14.11.2011 16:09

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Odoslanie viacerých údajov z inputov

v PHP, ASP

15

745

25.03.2010 7:46

emer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ext. disk v akcii

v Úložné zariadenia

1

431

04.01.2012 13:15

nBXXL Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nacitanie hodnot z tabulky do inputov

v JavaScript, VBScript, Ajax

0

366

19.03.2010 23:38

wolf14 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. innerHTML - maze zadane udaje do inputov

v JavaScript, VBScript, Ajax

3

807

09.01.2009 22:05

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. $_POST['pole']['item'] kombinácia viacerých typov inputov

v PHP, ASP

20

814

30.08.2011 19:46

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vykonanie akcií po skončení http spojenia

v PHP, ASP

6

580

17.08.2009 19:37

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Quad SLI 9800 GX2 v akcii

v Novinky

14

701

27.03.2008 16:45

Mir Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Program na zautomatizovanie akcií v PC

v Ostatné programy

1

352

20.02.2012 19:39

reklamiak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kupa kamery na natacanie akcii (svadby, stuzkove, oslavy...)

v Ostatné

4

934

01.04.2012 17:32

El_Silver Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nejaký ten základ

v Internetový marketing, SEO, reklama

0

1257

19.12.2006 21:45

exot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zaklad za 8k

v PC zostavy

14

565

26.02.2008 15:42

prkyyynko Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra