abonnement Unibet Coolblue Bitvavo
pi_63602901
Dat komt denk ik doordat prototype.js een aantal uitbreidingen maakt op het Array object (via Array.prototype) zodat een array bijvoorbeeld een lastIndexOf() functie krijgt. Een gevolg daarvan is dat je niet zonder meer de normale for(<key> in <object>) constructie meer kan gebruiken.
Dit kan je "oplossen" door de omslachtige prototypejs functies te gebruiken. Of je kan een alternatief voor for( in ) bedenken.
Of je kan prototypejs natuurlijk helemaal over boord gooien
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_63615253
Ik heb op google gezocht maar kon eingelijk niets vinden over de oplossing die je schetst, hoe zou je de oplossing zien?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_63655620
Je hebt eigenlijk twee opties:
  • Je verdiepen in de prototypejs api: http://www.prototypejs.org/api
  • Geen for(x in y) gebruiken
  • Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_63701016
    Maar wat is het alternatief dan op een for(x in y) loop? wist trouwens niet dat je dat soort elementen kon herschrijven middels javascript
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_63703686
    1. for(x in y) kan je niet herschrijven
    2. Het alternatief voor for(x in y) met prototypejs is Enumerable.each(), zie api
    3. Jouw for(x in y) levert niet op wat je verwacht omdat je langs alle properties van het object loopt. Dus niet alleen de property's die jij hebt gezet, maar ook de property's die prototypejs heeft toegevoegd (zoals een functie indexOf)
    4. In jouw geval kan je de querystring ook opbouwen zonder for loopje, gewoon direct de string aan elkaar plakken.

    Als je prototypejs wil blijven gebruiken dan kan je ook een Hash object gebruiken, die heeft een toQueryString functie.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_63704968
    Nou eingelijk moet het scriptje werken in iedere site met wat voor externe scripts dan ook maar idd dan zal ik het even moeten herschrijven zonder for ... in
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_63705035
    .edit nvm

    [ Bericht 94% gewijzigd door Flaccid op 02-12-2008 20:24:32 ]
    pi_63747923
    Het is opgelost met for in, door iedere variabel van stat_ te voorzien en in de for in te controlleren of stat voor de variabel staat
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      FOK!-Schrikkelbaas zaterdag 6 december 2008 @ 19:25:02 #109
    1972 Swetsenegger
    Egocentrische Narcist
    pi_63809387
    Ik zoek een onrightmousup event handler
    Ik heb een ajaxcall nadat er een bepaalde sleutel in een textveld is ingevoerd. Maar dit kan ook dmv plakken.

    Ik had het onkeyup event en dat werkt uiteraard prima zolang je maar met het keyboard plakt en niet met de muis. onmouseup toegevoegd maar die fired alleen op de LINKER muisknop en rechtsklikken voor het contextmenu en dan plakken wordt niet op gereageerd. Toen vond ik het 'onpaste' event, maar die reageert alleen op een ctrl-v en niet op een rechtermuisknop -> plak.

    Iemand een idee?
    pi_63810918
    kun je checken met een functie, links is 1, rechts 2, midden 3.

    event.which==2
    event.button==2 //alto-manier voor de alto-browser IE
    pi_63811011
    Kun je niets met een onchange, Swets?
      FOK!-Schrikkelbaas zaterdag 6 december 2008 @ 21:46:11 #112
    1972 Swetsenegger
    Egocentrische Narcist
    pi_63812638
    Ik heb het opgelost. onpaste werkt wel, maar direct als je op 'paste' drukt. En dan staat simpelweg de waarde die je wil pasten nog niet in je input veld. Dus een settimeout lostte het probleem op.

    Ander probleem. IE7 geeft een JS error zodra ik op 'bekijk' klik en ik heb geen idee waarom...

    1
    2
    3
    4
    5
    <td style="font-size:10px" id="couponValid">
    <img src="../images/yes.gif" height="10px" width="10px" /> Geldige coupon!<br />
    <span style="color:black;cursor:pointer;cursor:hand;text-decoration:underline" 
    onclick="window.open('http://www.domein.nl/pagina.php','Overzicht winkelwagentje','width=650,height=125,left=200,top=0,scrollbars=no');">
    Bekijk</span> uw bijgewerkte winkelwagentje.</td>


    De foutmelding is 'invalid argument' char 1 op deze regel...
    Ik heb nu voor de leesbaarheid even linebreaks toegevoegd. in de source staat het op 1 regel. IN safari en ff op OSX en chrome windows opent de pop-up window prima.
    pi_63816201
    quote:
    Op zaterdag 6 december 2008 21:46 schreef Swetsenegger het volgende:
    Ik heb het opgelost. onpaste werkt wel, maar direct als je op 'paste' drukt. En dan staat simpelweg de waarde die je wil pasten nog niet in je input veld. Dus een settimeout lostte het probleem op.

    Ander probleem. IE7 geeft een JS error zodra ik op 'bekijk' klik en ik heb geen idee waarom...
    [ code verwijderd ]

    De foutmelding is 'invalid argument' char 1 op deze regel...
    Ik heb nu voor de leesbaarheid even linebreaks toegevoegd. in de source staat het op 1 regel. IN safari en ff op OSX en chrome windows opent de pop-up window prima.
    'Overzicht winkelwagentje' moet aan elkaar (het is geen titel die getoond wordt, allleen een naam om het venster later aan te kunnen spreken via JS)
      FOK!-Schrikkelbaas zondag 7 december 2008 @ 09:27:14 #114
    1972 Swetsenegger
    Egocentrische Narcist
    pi_63819278
    quote:
    Op zondag 7 december 2008 00:49 schreef mschol het volgende:

    [..]

    'Overzicht winkelwagentje' moet aan elkaar (het is geen titel die getoond wordt, allleen een naam om het venster later aan te kunnen spreken via JS)


    Bizar dat alleen IE daarover valt. En ik had hem in mijn ajaxcall al een keer gewijzigd, maar als ik de page refreshed kijkt hij of ik een sessie korting heb en zo ja, veranderd hij gewoon de innerhtml serverside. Dus clientside wel aangepast, serverside niet waardoor ik geen resultaat dacht te hebben.
    pi_63873875
    Ik heb een vraagje, stel je hebt een aantal input fields en bij ieder input field hoort een checkbox

    1
    2
    3
    4
    5
    6
    7
    <input type="text" name="titel[1]" tabindex="1" value="titel1" > <input type="checkbox" name="check[1]" value="1" tabindex="100"><br />

    <input type="text" name="titel[2]" tabindex="2" value="tekst hier"> <input type="checkbox" name="check[2]" value="2" tabindex="101"><br />

    <input type="text" name="titel[3]" tabindex="3" value="weer iets anders"> <input type="checkbox" name="check[3]" value="3" tabindex="102"><br />

    <input type="text" name="titel[4]" tabindex="4" value="hold on"> <input type="checkbox" name="check[4]" value="4" tabindex="103"><br />


    Nu wil ik dat wanneer de inhoudt gewijzigd wordt de checkbox aangevinkt wordt. Op zich is dat natuurlijk niet zo moeilijk en dat klopt, maar eingelijk wil ik ook controlleren dat wanneer iemand de tekst niet veranderd de checkbox niet gechecked wordt... een beetje extra controle.

    Heeft iemand een idee hoe ik dit het beste kan controlleren?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_63876445
    Ik begrijp niet helemaal waarom dat niet met onchange kan?
    pi_63880989
    Ik heb nu het volgende
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type="text/javascript">
    imgTitleArr = new Array();
    function imgTitle(id)
    {
        if (!imgTitleArr[id])
        {
            imgTitleArr[id] = document.getElementById('img_' + id).value;
        }

        document.getElementById('check_' + (id+999)).checked = ((imgTitleArr[id] != document.getElementById('img_' + id).value) ? true : false);
    }
    </script>


    En dit is de code voor het bewerken van de titel van de afbeelding
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
                        <div>

                            <div class="box"><img src="thumbnail/2008/12/09/1-1228817838-706146240.jpg" alt="image" /></div>
                            <span>Titel</span> <input type="text" onKeyUp="imgTitle(0);" id="img_0" name="img_tit[1]" tabindex="99" value="" /><br />
                            <span>Map </span> Hoofdmap<br />
                            <span>Views</span> 5 <br /><br />
                            <span>Opties</span> <input type="checkbox" id="check_999" tabindex="999" style="width: 20px; margin-right: 2px; float: left;" name="check[1]" />

                                                <a href="/image/1.html"><img src="/images/icon_view.gif" alt="Bekijk" /></a>
                                                <a href="/photoedit.html?id=1"><img src="/images/icon_edit.gif" alt="Bewerk" /></a> <br />
                        </div>

                        <div>
                            <div class="box"><img src="thumbnail/2008/12/09/1-1228817838-674804687.jpg" alt="image" /></div>
                            <span>Titel</span> <input type="text" onKeyUp="imgTitle(1);" id="img_1" name="img_tit[2]" tabindex="100" value="" /><br />
                            <span>Map </span> Hoofdmap<br />

                            <span>Views</span> 0 <br /><br />
                            <span>Opties</span> <input type="checkbox" id="check_1000" tabindex="1000" style="width: 20px; margin-right: 2px; float: left;" name="check[2]" />
                                                <a href="/image/2.html"><img src="/images/icon_view.gif" alt="Bekijk" /></a>
                                                <a href="/photoedit.html?id=2"><img src="/images/icon_edit.gif" alt="Bewerk" /></a> <br />
                        </div>


    Op zich werkt het al aardig, maar als ik niets in de input field heb staan en er iets in zet en het weer weghaalt blijft de checkbox gevinkt staan en dat wil ik niet. Ik wil controlleren of imgTitleArr[id] bestaat of niet en dat werkt blijkbaar niet goed met if (!imgTitleArr[id])

    Anyone? :D
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_63890008
    Wat heb je toch altijd van die fijne heldere voorbeelden. Van die voorbeelden waarbij je direct ziet waar het om draait, zonder overbodige code die alleen maar zou afleiden
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_63899921
    Sorry SR, Schrijven is zoals je weet niet mijn sterkte vak!!! en uitbeelden al helemaal niet maar we proberen het even opnieuw.

    Het probleem is als volgt. Zoals je in de vorige post van mij kan zien heb ik een aantal input velden, deze input velden worden bij de eerste klik (op het veld zelf) gecontrolleerd door een stukje javascript. Dit stukje javascript dient te controlleren of de input is veranderd of niet. Waarbij het bij de 1e klik kijkt of er in een array de ID van het input veld te vinden is, is dit niet het geval dan moet de index in de array aangemaakt worden met de huidige waarde van het input veld. Is de tekst veranderd dan dient de checkbox aangevinkt te worden (automatisch)

    Nu werkt het deels, echter als de input veld leeg is en ik er een tekst in zet en deze tekst weer verwijder krijg blijft de checkbox gevinkt, dat is mijn probleem. Waarschijnlijk ligt het probleem bij het aanmaken van het element in de array. Want blijkbaar ziet !arr[id] een lege variabel ook als 'niets' en dat is niet de bedoeling.

    Hoe kan ik dit oplossen? (is dit beter? )

    Het rare is dat wanneer de tekstveld leeg is en ik bv 1x een a invoer de checkbox niet gechecked wordt, maar doe ik 2x een a dan wordt de checkbox gevinkt, haal ik alles weg dan blijft de checkbox gevinkt tenzij ik 1 a laat staan dan is de checkbox niet gevinkt!

    [ Bericht 2% gewijzigd door Chandler op 10-12-2008 11:15:06 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_63914246
    Ben nu bezig met een script om te bepalen op welke dag van de week een bepaalde datum valt in JavaScript

    Alleen weet ik echt niet hoe je het volgende zou moeten doen:

    Je hebt een variabele (een jaartal, dus 4 cijfers).
    Het scriptje moet die variabele in tweeën splitsen als het ware en er twee andere (of één andere ) variabele(n) van maken.

    Voorbeeld:

    Iemand voert 2008 als jaartal in.
    Het scriptje hakt dit vervolgens in tweeën en maakt er twee variabelen van, zoals:
    variabele1=20
    variabele2=08

    Ik heb keine idee
    pi_63927612
    1
    2
    3
    4
    5
    6
    7
    var year = 2008;
    var month = 11;
    var d = 1;
    var date = new Date(year, month - 1, d);// een Date object
    var day = date.getDay();// dag van vandaag, 0=zondag, 1=maandag
    var dayNames = ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'];
    alert(dayNames[day]);// geeft de naam van de datum


    Maar waarom zou je het jaartal in tweeën willen hakken?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_63932441
    Ik heb een textfield waarop ik events capture. Control+v (pasten) werkt, die kan ik opvangen. Maar rechtermuis knop in het textfield en dan paste werkt niet. Iemand een idee hoe ik dit event capture?
    pi_63932542
    quote:
    Op donderdag 11 december 2008 @ 13:53 schreef Scorpie het volgende:
    Ik heb een textfield waarop ik events capture. Control+v (pasten) werkt, die kan ik opvangen. Maar rechtermuis knop in het textfield en dan paste werkt niet. Iemand een idee hoe ik dit event capture?
    ! stop er maar mee, swets is je voor op deze opdracht!
    quote:
    Op zaterdag 6 december 2008 @ 21:46 schreef Swetsenegger het volgende:
    Ik heb het opgelost. onpaste werkt wel, maar direct als je op 'paste' drukt. En dan staat simpelweg de waarde die je wil pasten nog niet in je input veld. Dus een settimeout lostte het probleem op.
    pi_63932661
    quote:
    Op donderdag 11 december 2008 13:57 schreef mcDavid het volgende:

    [..]

    ! stop er maar mee, swets is je voor op deze opdracht!
    [..]


    !

    Swets post je ajax call code eens!
    pi_63938247
    quote:
    Op donderdag 11 december 2008 10:40 schreef SuperRembo het volgende:

    [ code verwijderd ]

    Maar waarom zou je het jaartal in tweeën willen hakken?
    Ja, zo kan het natuurlijk ook.

    Maar ik ben beginner met JS en moet opdrachten maken voor studie. Ik heb dus een pseudocode gekregen en moet die omzetten in JS.
    Met PSD's jeweetwel een Nassi Scheinderman Diagram (lol wie gebruikt die nog, onze school wel ) is het supersimpel eigenlijk en weet ik het zo te doen, maar met JS dus helaas niet.

    Laat ik mijn vraag even anders formuleren dan:

    a. Ik heb dus 1 variabele te weten een jaartal van 4 cijfers.
    b. Met een of andere command/code moet hij dit getal in tweeën hakken.
    c. Vervolgens moet hij hiervan 2 variabelen maken.

    Dus:
    a. invoer bijv. 2008
    b. wil ik nu juist weten, zodat je 20 en 08 krijgt.
    c. dat zal lukken als ik b weet, zodat variabele 1=20 en variabele 2=08

    Hoop echt dat iemand me kan helpen.

    En nog een kort beginners vraagje:
    Waarom zetten mensen soms var voor een variabele? Dat is toch eigenlijk niet nodig? Of is dit weer voor oudere browsers
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')