7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)
  • Q:
    Bijdrager
    websania

    Jacascript waarden van HTML-formulier velden bewerken en overzetten

    Ik ben op zoek naar een javascript oplossing die het volgende doet:
    ik voer in invoerveld1 een datum in, welke vervolgens in invoerveld2, verhoogd met een x-aantal dagen, maanden of jaren, moet verschijnen.

    <br />
    function movetext(fieldid1,fieldid2)<br />
    {<br />
    	var field1value=document.getElementById(fieldid1).value;<br />
    	var field2value=field1value;<br />
    	document.getElementById(fieldid2).value=field2value;<br />
    }<br />
     

    In het onBlur-event van het input veld roep ik dan de bovenstaande functie aan.

    Bijdrager
    jimeh

    Ik neem aan dat je bovenstaande getest hebt en het werkt?
    Dan ligt het enkel nog aan de manier waarop de datum zal worden in gevoerd.
    19-05-2011 bijv.
    Dit zou je opkunnen delen in 3 strings met de functie split. field1value.split(“-“); zo dus.
    Ik weet niet hoe het in javascript precies verder gaat maar dit moet je dan in een array zetten en zo kun je de waardes individueel veranderen waarna je ze weer aan elkaar plakt en in field2 zet.

    Bijdrager
    jimeh

    Ik heb het even voor je getest en verder uit geschreven

    <br />
    var datum="05-12-2011";<br />
    var gesplit=new Array();<br />
    gesplit=datum.split("-");<br />
    document.write(gesplit[0]);<br />
    document.write(gesplit[1]);<br />
    document.write(gesplit[2]);<br />
     

    Dit is een voorbeeldje, hier is gesplit[0] dag enz.
    Ik hoop dat je er iets aan hebt.

    Bijdrager
    websania

    Daar kom ik verder mee! Bedankt! Ik kan dan bijvoorbeeld het jaar verhogen door gesplit[2] met een getal te verhogen. Hoe voeg ik “de boel” dan weer samen om deze in het tweede invoerveld te zetten?

    Ik had zelf het volgende bedacht:

    <br />
    function datumverhogen(field1id,field2id) {</p>
    <p>	var datum1=document.getElementById(field1id).value;<br />
    	var datum=new Array();<br />
    	datum=datum1.split("-");<br />
    	datum[2]=datum[2]+2;<br />
    	var datumnieuw=datum[0] + "-" + datum[1] + "-" + datum[2];<br />
    	document.getElementById(field2id).value=datumnieuw;<br />
    }<br />
     

    Als een datum met een jaar 2000 is ingevuld, wordt het nieuwe jaar 20002….wat doe ik hier verkeerd?

    Bijdrager
    MichMich

    probeer

    datum[2]=datum[2]+2;

    eens te veranderen in

    datum[2]=parseInt(datum[2])+2;
    Inactief
    Anoniem

    Ik kan je ook aanraden om in je scripts ‘graceful degradation’ in te bouwen. Het idee is dat je eerst controleert of javascript aanwezig is, het element werkelijk bestaat, en de waarde van het element valide is. Pas dan voer je je script uit.

    Zie ook hier: http://domscripting.com/book/sample/

    Bijdrager
    websania

    @MichMich tnx! ook dit werkt weer prima. Ik ben prima geholpen.

    @koen: ook een zeer nuttige tip waar ik eens nader naar ga kijken.

    Bedankt allemaal voor het meedenken!

7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.