Javascript in PDF formulier voor check BSN

Status
Niet open voor verdere reacties.

jobwol

Gebruiker
Lid geworden
11 aug 2009
Berichten
24
Ik heb een formulier gemaakt in Acrobat. Dit formulier bevat o.a. het veld BSN (burgerservicenummer). Omdat ik graag wil dat mijn collega's een goed BSN invoeren, heb ik ergens op internet een javascript gezocht wat de 11-proef doet:
PHP:
function ElfCheck(fieldName, description)
{
	var legal = true;
	var nrOfChars = 9;
	var myField = this.getField(fieldName);
	var number = myField.valueAsString;
	var size = number.length;    
	
	// add 0's if not 9 characters long	
	if (size != nrOfChars)
	{	
       		app.beep(0);
        	if(description != null)
        	{
			app.alert("U hebt een " + description + " ingevuld dat niet uit 9 cijfers bestaat. Hebt u een " + description + " van minder dan 9 cijfers, vul dan aan het begin nullen in tot een 9-cijferig nummer ontstaat. Bijvoorbeeld: '12345678' wordt '012345678'. Vul het " + description + " opnieuw in.");
		}
		myField.setFocus();
	}
	else
	{
		var number_array = new Array(); 
	    	for(i=0;i<size;i++)
    		{
        		number_array[i] = (number.charAt(i)).valueOf();
	    	}

	    	//Compute the ELF Check
    		var elfCheck = 0;
	    	
		for(i=0;i<(size-1);i++)
    		{
			elfCheck += (9-i)*number_array[i];
		
		}
		
	    	var result = (elfCheck)%11;
    		var result_string = result.toString();
		var resultlength = (result_string).length; 
		
		if (resultlength > 1)
		{
			legal = false;
		}
		else
		{
			if (result_string != (number_array[size-1]).toString())
			{
				
				legal = false;
			}
		}
   		if(!legal)
		{
        		app.beep(0);
        		if(description != null)
        		{
	       	   	 	app.alert("U hebt een " + description + " ingevuld dat ongeldig is. Vul het " + description + " opnieuw in.");
        		}
			myField.setFocus();
    		}
	}
}
Nu is het echter zo dat als je eenmaal in het veld BSN staat en je hebt geen BSN van de klant gekregen, dat je in een loop blijft zitten. Je blijft namelijk de melding krijgen dat er een onjuist BSN is ingevoerd. Je kunt niet dit veld skippen en door met het formulier. Is in het javascript aan te passen dat hij geen melding geeft als het veld leeg is? Er moet alleen een melding komen als er een waarde is ingevuld die niet klopt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan