[ 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 | 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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
Bydlisko: HE/BA

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 | 56
Napísal autor témyOffline : 22.01.2011 11:30 | zaklad filtrovacieho systemu (kontrola akcii inputov)

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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
Bydlisko: HE/BA

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 | 56
Napísal autor témyOffline : 22.01.2011 12:48 | zaklad filtrovacieho systemu (kontrola akcii inputov)

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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
Bydlisko: HE/BA

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 | 56
Napísal autor témyOffline : 22.01.2011 21:00 | zaklad filtrovacieho systemu (kontrola akcii inputov)

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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
Bydlisko: HE/BA

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 | 56
Napísal autor témyOffline : 22.01.2011 22:30 | zaklad filtrovacieho systemu (kontrola akcii inputov)

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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
Bydlisko: HE/BA

.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 | 56
Napísal autor témyOffline : 22.01.2011 23:46 | zaklad filtrovacieho systemu (kontrola akcii inputov)

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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
Bydlisko: HE/BA

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 | 34
Bydlisko: Brno

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 | 56
Napísal autor témyOffline : 23.01.2011 13:25 | zaklad filtrovacieho systemu (kontrola akcii inputov)

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 | 1

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 | 56
Napísal autor témyOffline : 25.01.2011 16:19 | zaklad filtrovacieho systemu (kontrola akcii inputov)

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?


 [ Príspevkov: 16 ] 


zaklad filtrovacieho systemu (kontrola akcii inputov)



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

801

03.10.2011 16:21

Reverser

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

1098

31.07.2007 18:42

Devil_SK

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

Súčet inputov

v JavaScript, VBScript, Ajax

3

530

25.02.2012 12:30

shaggy

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

Overovanie inputov

v JavaScript, VBScript, Ajax

5

573

28.01.2009 0:23

Blackdevil

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

Ochrana inputov

v PHP, ASP

2

401

14.11.2011 16:09

chrono

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

Odoslanie viacerých údajov z inputov

v PHP, ASP

15

804

25.03.2010 7:46

emer

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

ext. disk v akcii

v Úložné zariadenia

1

477

04.01.2012 13:15

nBXXL

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

Nacitanie hodnot z tabulky do inputov

v JavaScript, VBScript, Ajax

0

400

19.03.2010 23:38

wolf14

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

innerHTML - maze zadane udaje do inputov

v JavaScript, VBScript, Ajax

3

869

09.01.2009 22:05

Blackshadow

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

852

30.08.2011 19:46

camo

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

Vykonanie akcií po skončení http spojenia

v PHP, ASP

6

616

17.08.2009 19:37

rooobertek

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

Quad SLI 9800 GX2 v akcii

v Novinky

14

743

27.03.2008 16:45

Mir

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

Program na zautomatizovanie akcií v PC

v Ostatné programy

1

378

20.02.2012 19:39

reklamiak

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

Vraj legálny Win & Office v akcií

v Kôš

1

39

13.01.2020 9:44

michalesku

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

Kupa kamery na natacanie akcii (svadby, stuzkove, oslavy...)

v Ostatné

4

981

01.04.2012 17:32

El_Silver

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

Zaklad do 50e

v Základné dosky

4

509

10.02.2012 16:25

jawakiller



© 2005 - 2025 PCforum, edited by JanoF