Vraag & Antwoord

Webprogrammeren & scripting

waardes van listboxen controleren

Anoniem
None
2 antwoorden
  • Op een pagina kan een gebruiker een startdatum en een einddatum aangeven. De datum bestaat uit drie dropdownlistboxen. Hoe zet ik uit deze boxen de waardes bij elkaar, zodat ik kan controleren of een startdatum niet groter is dan de einddatum?
  • Er zijn meerdere wegen die naar Rome leiden. Dit is er eentje van:
    [code:1:d2d2d02493]
    <script type='text/javascript'>
    function checkdates(f, startcontrols, endcontrols)
    {
    var ctrl;

    ctrl = f.elements[startcontrols+'day'];
    var startday = ctrl.options[ctrl.selectedIndex].value;

    ctrl = f.elements[startcontrols+'month'];
    var startmonth = ctrl.options[ctrl.selectedIndex].value;

    ctrl = f.elements[startcontrols+'year'];
    var startyear = ctrl.options[ctrl.selectedIndex].value;

    ctrl = f.elements[endcontrols+'day'];
    var endday = ctrl.options[ctrl.selectedIndex].value;

    ctrl = f.elements[endcontrols+'month'];
    var endmonth = ctrl.options[ctrl.selectedIndex].value;

    ctrl = f.elements[endcontrols+'year'];
    var endyear = ctrl.options[ctrl.selectedIndex].value;

    var startdate = new Date(startyear, startmonth, startday);
    var enddate = new Date(endyear, endmonth, endday);

    // geeft true als begindatum vóór de einddatum valt
    alert(enddate - startdate > 0);
    }
    </script>

    <form>
    <div>
    <label>start</label>
    <select name='startday'>
    <option value='1'>1</option>
    <option value='2'>2</option>
    <option value='3'>3</option>
    </select>

    <select name='startmonth'>
    <option value='1'>1</option>
    <option value='2'>2</option>
    <option value='3'>3</option>
    </select>

    <select name='startyear'>
    <option value='2005'>2005</option>
    <option value='2006'>2006</option>
    <option value='2007'>2007</option>
    </select>
    </div>

    <div>
    <label>eind</label>
    <select name='endday'>
    <option value='1'>1</option>
    <option value='2'>2</option>
    <option value='3'>3</option>
    </select>

    <select name='endmonth'>
    <option value='1'>1</option>
    <option value='2'>2</option>
    <option value='3'>3</option>
    </select>

    <select name='endyear'>
    <option value='2005'>2005</option>
    <option value='2006'>2006</option>
    <option value='2007'>2007</option>
    </select>
    </div>

    <div>
    <input type='button' value='check' onclick='checkdates(this.form, "start", "end")'>
    </div>
    [/code:1:d2d2d02493]

    Overigens: een mooie datum selector is deze http://www.dynarch.com/projects/calendar/
    Het kiezen van een start- en einddatum en de controle daarop wordt dan een stuk eenvoudiger.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.