14. august 2001 - 10:13
Der 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.
<a href=\"#\" onclick=\"java script: Final();\" onMouseOut=\"swapImgRestore()\" onMouseOver=\"swapImage(\'Image3\',\'\',\'../images/siteCPR/knap_send_on.gif\',3)\"><img name=\"Image3\" border=\"0\" src=\"../images/siteCPR/knap_send.gif\" width=\"43\" height=\"16\" alt\"Send\"></a>
14. august 2001 - 13:03
#5
There ya go :-)
<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];}
}
//*************************************************************************************
var Erderfejl;
/////////////////////////////////
//Modulus 11 check på CPR-nummer
/////////////////////////////////
function Modulus() {
if (document.INDSIGT.Pernum.value.length != 10 && Erderfejl == \"N\") {
Erderfejl=\"J\";
document.INDSIGT.Pernum.focus();
document.INDSIGT.Pernum.select();
window.open(\'../GCM/fejlvindue.asp?error=237\',\'Fejlvindue\',\'height=230,width=415\');
return false;
}
else {
var string = document.INDSIGT.Pernum.value;
var check1 = string.substring(0,1) * 4;
var check2 = string.substring(1,2) * 3;
var check3 = string.substring(2,3) * 2;
var check4 = string.substring(3,4) * 7;
var check5 = string.substring(4,5) * 6;
var check6 = string.substring(5,6) * 5;
var check7 = string.substring(6,7) * 4;
var check8 = string.substring(7,8) * 3;
var check9 = string.substring(8,9) * 2;
var check10 = string.substring(9, 10) * 0;
var cifre = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 +
check9 + check10;
var div = Math.floor(cifre / 11);
var div = div * 11;
var nytal = cifre - div;
var checkcifre;
if (nytal == 0) {
checkcifre = 0;
}
else {
checkcifre = 11 - nytal;
}
if (checkcifre != string.substring(9,10) && Erderfejl == \"N\") {
Erderfejl=\"J\";
document.INDSIGT.Pernum.focus();
document.INDSIGT.Pernum.select();
window.open(\'../GCM/fejlvindue.asp?error=236\',\'Fejlvindue\',\'height=230,width=415\');
return false;
}
}
}
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\');
}
};
}
function Final() {
Erderfejl=\"N\";
Modulus();
Checkepost();
CheckFornavn();
CheckEfternavn();
//CheckAdr();
//if (Erderfejl==\"J\") { return false; } else { return true; }
if (Erderfejl==\"N\")
{
//document.INDSIGT.action=\"index.asp?send=true\";
document.INDSIGT.submit();
};
}
//-->
</script>