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...
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}$/);
}