14. august 2001 - 10:13Der er
7 kommentarer og 1 løsning
Mouseover-effekt på submit-knap i en form
Hej med jer
Jeg bruger i øjeblikket nedenstående kode til at lave en submit-knap med en mouseover i en form. Problemet er at IE 5.0 ikke kan submitte formen ved hjælp af nedenstående kode. Jeg har rodet lidt med <input type=image>, men der kan man vist ikke lave mouseover på... eller hva ?
Krav til knappen: Den skal virke i Netscape 4.0+ og IE 4+ og cursoren skal ændre sig til en hånd når man fører den henover knappen.
<script language=\"JavaScript\" title=\"Dette script bliver brugt til mouseover\"> <!-- function swapImgRestore() { var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; }
function preloadImages() { var d=document; if(d.images){ if(!d.p) d.p=new Array(); var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf(\"#\")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}} }
function findObj(n, d) { var p,i,x; if(!d) d=document; if((p=n.indexOf(\"?\"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document); if(!x && document.getElementById) x=document.getElementById(n); return x; }
function swapImage() { var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} }
function CheckFornavn() { if (document.INDSIGT.Fornavn.value == \"\" && Erderfejl == \"N\") { Erderfejl=\"J\"; document.INDSIGT.Fornavn.focus(); document.INDSIGT.Fornavn.select(); window.open(\'../GCM/fejlvindue.asp?error=238\',\'Fejlvindue\',\'height=230,width=415\'); } }
function CheckEfternavn() { if (document.INDSIGT.Efternavn.value == \"\" && Erderfejl == \"N\") { Erderfejl=\"J\"; document.INDSIGT.Efternavn.focus(); document.INDSIGT.Efternavn.select(); window.open(\'../GCM/fejlvindue.asp?error=239\',\'Fejlvindue\',\'height=230,width=415\'); } }
//CheckAdr() kaldes ikke pt function CheckAdr() { if (document.INDSIGT.Adr.value == \"\" && Erderfejl == \"N\") { alert (\"Der skal angive en adresse.\"); Erderfejl = \"J\"; document.INDSIGT.Adr.focus(); document.INDSIGT.Adr.select(); } }
function Checkepost() { //alert(document.INDSIGT.Epost.value); var emailValue; emailValue=document.INDSIGT.Epost.value;
position=emailValue.indexOf(\'@\');
if (emailValue!=\"\") { if (position==-1) { Erderfejl = \"J\"; document.INDSIGT.Epost.focus(); document.INDSIGT.Epost.select(); window.open(\'../GCM/fejlvindue.asp?error=206\',\'Fejlvindue\',\'height=230,width=415\'); } //der er @ array=emailValue.split(\'@\'); //der er for mange @ if (emailValue.split(\'@\').length > 2 && Erderfejl==\"N\") { Erderfejl = \"J\"; document.INDSIGT.Epost.focus(); document.INDSIGT.Epost.select(); window.open(\'../GCM/fejlvindue.asp?error=207\',\'Fejlvindue\',\'height=230,width=415\'); } //tekst før @ mangler if (emailValue.substring(0,position).length==0 && Erderfejl==\"N\") { Erderfejl = \"J\"; document.INDSIGT.Epost.focus(); document.INDSIGT.Epost.select(); window.open(\'../GCM/fejlvindue.asp?error=208\',\'Fejlvindue\',\'height=230,width=415\'); } //tekst efter @ mangler if (emailValue.substring(position+1).length==0 && Erderfejl==\"N\") { Erderfejl = \"J\"; document.INDSIGT.Epost.focus(); document.INDSIGT.Epost.select(); window.open(\'../GCM/fejlvindue.asp?error=209\',\'Fejlvindue\',\'height=230,width=415\'); } //er der punktum efter @ tekstEfter= emailValue.substring(position+1); position=tekstEfter.indexOf(\'.\'); if (position==-1 && Erderfejl==\"N\") { Erderfejl = \"J\"; document.INDSIGT.Epost.focus(); document.INDSIGT.Epost.select(); window.open(\'../GCM/fejlvindue.asp?error=210\',\'Fejlvindue\',\'height=230,width=415\'); } //tjekker domainenavnets længde position=tekstEfter.lastIndexOf(\'.\'); tekstDomain=tekstEfter.substring(position+1); if ((tekstDomain.length < 2 || tekstDomain.length > 3) && (Erderfejl==\"N\")) { Erderfejl = \"J\"; document.INDSIGT.Epost.focus(); document.INDSIGT.Epost.select(); window.open(\'../GCM/fejlvindue.asp?error=211\',\'Fejlvindue\',\'height=230,width=415\'); } //er der tekst mellem @ og sidste punktum if ((tekstEfter.length-(tekstDomain.length+1))==0 && Erderfejl==\"N\") { Erderfejl = \"J\"; document.INDSIGT.Epost.focus(); document.INDSIGT.Epost.select(); window.open(\'../GCM/fejlvindue.asp?error=212\',\'Fejlvindue\',\'height=230,width=415\'); } };
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.