doppelte überprüfung eines formulars

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
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...

Code:
	<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

Bekanntes Mitglied
ich weiss nicht obs funktioniert, aber probier mal

Code:
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...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben