datums vergelijken [solved]

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

deactivated010521

Re: datums vergelijken

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 3:27 pm, edited 1 time in total.
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: datums vergelijken

Post by Gregor »

Na enig testen, het lijkt erop dat je beide veldnamen mag wijzigen maar alleen bij de start moet je dan een alias invullen.

Gregor
deactivated010521

Re: datums vergelijken

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 3:27 pm, edited 2 times in total.
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: datums vergelijken

Post by Gregor »

Dank je wel Arnoud. Ik ga hier vandaag mee verder. Zal de lengtecontrole van de strings er aan toevoegen cq. aanpassen.
En wat betreft het opgewaaide stof, misschien heb ik je uitleg niet begrepen.

Gregor
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: datums vergelijken

Post by Gregor »

Toch meteen even geprobeerd, een update.

Ik heb in de css-id respectievelijk ingevuld:
- Verlof van -> start
- Verlof tot -> end

De code die ik nu gebruik is:

Code: Select all

{* this script can be placed in a external .js file *}
{literal}
    <__script__ language="JavaScript">
    <!--
    /* set start_date / end_date as today's date */ 
    var date_now = new Date();
    var start_date = date_now.getDate()+ "/"+ (date_now.getMonth() + 1) + "/"+ date_now.getFullYear();
    var end_date = date_now.getDate()+ "/"+ (date_now.getMonth() + 1) + "/"+ date_now.getFullYear();
        
	/* check form, throw error is available */ 
	function check_me() {
	    var error = "";
	    if (compare_timestamp(start_date, end_date) == false) {
	        error += "\n- Start verlof vanaf mag niet later liggen dan eind verlof.";
	    }
	    if (error != "")	{
	        alert('Het formulier is niet correct ingevuld:'+error);
	        return false;
	    }
	    return(true);
	}
	
	/* compare timestamp end_date versus start_date */
	function compare_timestamp(start_date, end_date) {
	    //alert(start_date);
	    //alert(end_date);
	    var start_date_epoch = date_to_date_as_epoch(start_date);
	    var end_date_epoch = date_to_date_as_epoch(end_date);
	    if (start_date_epoch > end_date_epoch) {
	        return false;
	    } else {
	        return true;
	    }
        }
	
	/* convert fulldate to epoch-time */
	function date_to_date_as_epoch(mmddyyyy) {
	    var mmddyyyy_array    = mmddyyyy.split("/");
	    var date = new Date();
	    date.setMonth(mmddyyyy_array[0] - 1);
	    date.setDate(mmddyyyy_array[1]);
	    date.setFullYear(mmddyyyy_array[2]);
	    var epoch = date.getTime();
	    return epoch;
	}
	
	/* read out startdate / enddate from select, option */	
       function set_startdate_enddate(id, startend) {	
		var id;
		var startend;
		//var stripped_id = id.substr(0, id.length -1);
/*		var stripped_id = id.substr(0, 11);
*/

                if (startend == 'start') {
                   // start is 5 letters 
                   var stripped_id = id.substr(0, 5);
                } else {
                   // end is 3 letters
                  var stripped_id = id.substr(0, 3);
                }

                //dd_key = stripped_id + '1';
		//mm_key = stripped_id + '2';
		//yyyy_key = stripped_id + '3';
		dd_key = stripped_id + 'day';
		mm_key = stripped_id + 'month';
		yyyy_key = stripped_id + 'year';
		
		var dd_obj = document.getElementById(dd_key);
		var dd_index = dd_obj.selectedIndex;
		var dd_var = dd_obj.options[dd_index].value;
		var mm_obj = document.getElementById(mm_key);
		var mm_index = mm_obj.selectedIndex;
		var mm_var = mm_obj.options[mm_index].value;
		var yyyy_obj = document.getElementById(yyyy_key);
		var yyyy_index = yyyy_obj.selectedIndex;
		var yyyy_var = yyyy_obj.options[yyyy_index].value;

		//dd_var = document.getElementById(dd_key).options[eval(dd_key).selectedIndex].value;
		//dd_var = document.getElementById(dd_key).options[eval(dd_key).selectedIndex].value;
		//mm_var = document.getElementById(mm_key).options[eval(mm_key).selectedIndex].value;
		//yyyy_var = document.getElementById(yyyy_key).options[eval(yyyy_key).selectedIndex].value;

		if (startend == 'start') {
		    start_date = dd_var + '/'+ mm_var + '/'+ yyyy_var;
		} else {
		    end_date = 	dd_var + '/'+ mm_var + '/'+ yyyy_var;
		}		
    }    
    -->
    </__script>
{/literal}



{* DEFAULT FORM LAYOUT / pure CSS *}
{$fb_form_header}
{if $fb_form_done == 1}
	{* This first section is for displaying submission errors *}
	{if isset($fb_submission_error) && $fb_submission_error}
		<div class="error_message">{$fb_submission_error}</div>
		{if isset($fb_show_submission_errors) && $fb_show_submission_errors}
			<div class="error">
			<ul>
			{foreach from=$fb_submission_error_list item=thisErr}
				<li>{$thisErr}</li>
			{/foreach}
			</ul>
		</div>
		{/if}
	{/if}
{else}
	{* this section is for displaying the form *}
	{* we start with validation errors *}
	{if isset($fb_form_has_validation_errors) && $fb_form_has_validation_errors}
		<div class="error_message">
		<ul>
		{foreach from=$fb_form_validation_errors item=thisErr}
			<li>{$thisErr}</li>
		{/foreach}
		</ul>
		</div>
	{/if}
	{if isset($captcha_error) && $captcha_error}
		<div class="error_message">{$captcha_error}</div>
	{/if}

	{* and now the form itself *}
	{$fb_form_start}
	<div>{$fb_hidden}</div>
	<div{if $css_class != ''} class="{$css_class}"{/if}>
	{if $total_pages gt 1}<span>{$title_page_x_of_y}</span>{/if}
	{foreach from=$fields item=entry}
		{if $entry->display == 1}
        	{strip}
         	{if $entry->needs_div == 1}
            	<div
            	{if $entry->required == 1 || $entry->css_class != '' || $entry->valid == 0} class="
              		{if $entry->required == 1}required{/if}
              		{if $entry->css_class != ''} {$entry->css_class}{/if}
                    {if $entry->valid == 0} fb_invalid{/if}
              		"
            	{/if}
            	>
         	{/if}
         	{if $entry->hide_name == 0}
            	<label{if $entry->multiple_parts != 1} for="{$entry->input_id}"{/if}>{$entry->name}
            	{if $entry->required_symbol != ''}
               		{$entry->required_symbol}
            	{/if}
            	</label>
         	{/if}
         	{if $entry->multiple_parts == 1}
            	{section name=numloop loop=$entry->input}
               		{if $entry->label_parts == 1}
               			<div>{$entry->input[numloop]->input} {$entry->input[numloop]->name}</div>
               		{else}
               			{$entry->input[numloop]->input}
               		{/if}
               		{if isset($entry->input[numloop]->op) && $entry->input[numloop]->op}{$entry->input[numloop]->op}{/if}
            	{/section}
         	{else}
            	{if $entry->smarty_eval == '1'}{eval var=$entry->input}{else}{$entry->input}{/if}
         	{/if}
         	{if $entry->valid == 0} <--- {$entry->error}{/if}
         	{if $entry->needs_div == 1}
            	</div>
         	{/if}
         	{/strip}
     	{/if}
	{/foreach}
	{if $has_captcha == 1}
		<div class="captcha">{$graphic_captcha}{$title_captcha}<br />{$input_captcha}</div>
	{/if}
	<div class="submit">{$prev}{$submit}</div>
	</div>
	{$fb_form_end}
{/if}
{$fb_form_footer}
De controle op de datum wordt met deze instellingen nog niet goed uitgevoerd. Moet nu weg. Vanmiddag mee verder :-)

Gregor
deactivated010521

Re: datums vergelijken

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 3:27 pm, edited 1 time in total.
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: datums vergelijken

Post by Gregor »

De werkelijkheid lijkt tamelijk weerbarstig Arnoud ;)
Wat is het geval, als ik de 'startedate' een dag invoer die ligt na de 'enddate', dan krijg ik een melding. Correct. Nu pas ik de dag van 'enddate' aan naar een waarde > startdate, en hij blijft de foutmelding geven. Pas als ik de maand van de 'startdate' wijzig naar een latere maand, dan wordt het formulier verstuurd. Het lijkt erop dat de variabelen niet worden hersteld. Deel je die mening?

Gregor
deactivated010521

Re: datums vergelijken

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 3:27 pm, edited 1 time in total.
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: datums vergelijken

Post by Gregor »

hihihi, helemaal goed nu :D

Is het voor jou ok Arnoud als ik het geheel samenvat en in de Engelse Tips&Tricks plaats?

Gregor
deactivated010521

Re: datums vergelijken

Post by deactivated010521 »

----------
Post Reply

Return to “Dutch - Nederlands”