# doppelte überprüfung eines formulars



## Guest (30. Apr 2006)

Hallo, ich hab ein an und für sich gutes skript für die überprüfung einer formluars. leider funktioniert die email überprüfung nicht d.h. wenn die emailadresse z.b. keinen punkt hat wird das ganz kurz angezeigt und dann geht's weiter zum php file. genau das verhalten hab ich auch wenn eine var falsch ist...
ich hab alles versucht aber irgendwie seh' ich's nicht...


```
<script type="text/javascript">
       var reqfields,em,i,f,ty;
			if(document.getElementById('required'))
			{
				reqfields=document.getElementById('required').value.split(',');
				if(document.getElementById('errormsg')){
					em=document.getElementById('errormsg');
					em.parentNode.removeChild(em);
				}
				for(i=0;i<reqfields.length;i++)
				{
					f=document.getElementById(reqfields[i]);
					if(f.previousSibling && /img/i.test(f.previousSibling.nodeName)){
						f.parentNode.removeChild(f.previousSibling);
					}
					f.style.background='transparent';
					if(f){
						ty=f.type.toLowerCase();
						switch(ty)
						{
							case 'text':
								if(f.value==''){adderr(f.id,of)}							
								if(f.id=='cc_email' && !isEmailAddr(f.value)){adderr(f.id,f.id,of)}							
							break;
							case 'textarea':
								if(f.value==''){adderr(f.id,of)}							
							break;
							case 'checkbox':
								if(!f.checked){adderr(f.id,of)}							
							break;
							/* extend as needed */
						}
					}
					
				}
				
			}
			if(document.getElementById('errormsg'))
			{
				return false;
			}
		}
		function adderr(id,of)
		{
		 	var se,i,nli,na;
			i=document.createElement('img');
			i.src='img/alert.gif';
			i.alt='Error';
			i.title='This field has an error!';
			se=document.getElementById(id);
			se.parentNode.insertBefore(i,se)
			se.style.background='#fcc';
			if(!document.getElementById('errormsg')){
				var em=document.createElement('p');
				em.id='errormsg';
				em.appendChild(document.createTextNode('Please enter or change the fields marked with a '))
				i=document.createElement('img');
				i.src='img/alert.gif';
				i.alt='Error';
				i.title='This field has an error!';
				em.appendChild(i);
				for(var i=0;i<of.getElementsByTagName('input').length;i++)
				{
					if(/submit/i.test(of.getElementsByTagName('input')[i].getAttribute('type')))
					{
						var sb=of.getElementsByTagName('input')[i];
						break;
					}
				}
				em.style.border='2px solid #c00';
				em.style.padding='5px';
				em.style.width='100%';
				em.style.textalign='left';
				
				sb.parentNode.insertBefore(em,sb);
			}
			if(id=='cc_email' && !isEmailAddr(document.getElementById(id).value)){
				pn=document.createElement('p');
				pn.appendChild(document.createTextNode('Your email seems to be invalid'))	
				document.getElementById('errormsg').appendChild(pn);
			}
		}

		function isEmailAddr(str) 
		{
		    return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
		}
```


----------



## clemson (30. Apr 2006)

ich weiss nicht obs funktioniert, aber probier mal


```
function isEmailAddr(str)
{
	return str.matches(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
}
```

edit: da seh ich grad, das is eine javascript frage und da fällt mir ein: dieses forum behandelt JAVA fragen...


----------



## Roar (30. Apr 2006)

http://www.java-forum.org/de/viewtopic.php?t=6099
verschoben


----------

