Avatar billede kovalt Nybegynder
18. juni 2007 - 17:20 Der er 17 kommentarer og
1 løsning

Gør billede klikbar

hej

Jeg har et form som har et stykke grafik som submit-knap. Når værdierne i formen opfylder nogle valideringskrav skal grafikken udskiftes med en anden knap - dette gør jeg således.

document.Form.videre.style.cursor = "default;";
document.pkortForm.videre.src = "knap_videre.gif";

Det skal endvidere være sådan at knappen er klikbar når man opfylder valideringen. Hvorledes gør jeg knappen klikbar med javascript.

/kovalt
Avatar billede roenving Novice
18. juni 2007 - 17:22 #1
F.eks.

<img src="billede.gif" style="cursor:pointer;width:50px;height:38px;" onclick="document.pkortForm.submit();">
Avatar billede kovalt Nybegynder
18. juni 2007 - 21:47 #2
Hey

Jeps - men jeg skal jo sætte det via noget Javascript - dvs. siden er jo genereret via noget server-side kode men når formularen så kan valideres skal det som opdringeligt var et billede laves om til et link.

Dvs. det oprindelige er

<img src="billede.gif" name="billedet" style="cursor:pointer;width:50px;height:38px;">

og jeg har så bruge for at kunne sætte onClick når formen valideres.

function validateForm(){
  ....

  if(validate)
    document.form.billedet.onclick = "document.pkortForm.submit()";

}

ved godt ovenstående ikke virker - men det var noget i den stil som jeg havde tænkt
Avatar billede roenving Novice
18. juni 2007 - 22:10 #3
Men det er vel et billede, så det ingen tilknytning til formen har ?-)
Avatar billede kovalt Nybegynder
18. juni 2007 - 22:12 #4
Dette virker - bortset fra at der submittes i det øjeblik man kører valideringsscriptet. Selve submittet skulle gerne først ske nå man klikker på grafikken.

document.pkortForm.videre.onClick = document.pkortForm.submit();
Avatar billede kovalt Nybegynder
18. juni 2007 - 22:13 #5
Det er rigtigt - det har ikke nogen tilknytning til formen - men derfor kan man vel godt submitte den. Hvis jeg havde skrevet

onClick="document.form.submit();" ville den jo kunne submittes.

Kan man ikke sætte denne onClick fra noget javascript
Avatar billede kovalt Nybegynder
18. juni 2007 - 22:31 #6
giver det nogen mening det jeg efterspørger?
Avatar billede roenving Novice
18. juni 2007 - 22:37 #7
Sagtens, men jeg skulle lige være sikker på, at du ikke havde f.eks. en input type=image, som jo i forvejen er en submit-knap !-)

  if(validate)
    document.getElementById("billedet").onclick = function(){document.pkortForm.submit();};
Avatar billede kovalt Nybegynder
18. juni 2007 - 22:45 #8
ovenstående melder ikke fejl - men jeg kan ikke klikke på billedet?
Avatar billede roenving Novice
18. juni 2007 - 22:50 #9
<img src="billede.gif" id="billedet" style="cursor:pointer;width:50px;height:38px;">
Avatar billede kovalt Nybegynder
18. juni 2007 - 22:54 #10
det virker ikke som om det gør nogen forskel
Avatar billede kovalt Nybegynder
18. juni 2007 - 23:29 #11
burde det virke - kan det være noget andet JavaScript som ligger og blokerer?
Avatar billede roenving Novice
18. juni 2007 - 23:40 #12
Ja, det burde virke, prøv f.eks. denne demo:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Apply onclick til billede</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
</style>
<script language="javascript" type="text/javascript">
function enablePicClick(){
  var pic = document.getElementById("billedet")
  pic.onclick = function(){location.href = "http://www.google.com";};
  pic.style.cursor = "pointer";
}
</script>
</head>
<body>
  <img id="billedet" src="../billede.jpg" style="width:100px;"><br>
  <button onclick="enablePicClick();return false;">Klik her, så vil click på billedet sende dig til google !-)</button>
</body>

</html>
Avatar billede kovalt Nybegynder
19. juni 2007 - 12:23 #13
tjaa - det virker jo fint - men af en eller anden grund virker det ikke på min side. Det må være noget af det øvrige JavaScript som driller.

Du kan bare smide et svar
Avatar billede kovalt Nybegynder
19. juni 2007 - 12:30 #14
Det skript som kalder når formen valideres er i uddrag dette:

    if(dblTotal > 0){
        pic.onClick = function(){location.href = "http://www.google.com";};
        pic.style.cursor = "hand";
        pic.src = "../images/knap_videre.gif";
    }else{
        pic.style.cursor = "pointer;";
        pic.src = "../images/knap_videreDis.gif";
    }

Scriptet kalender med onChange hver gang der tilføjes værider til formen.

Billedet er dette:

<img src="../images/knap_videreDis.gif" id="knap_videre" border="0">

Alt virker - dvs. skift af grafik og cursor - dog ikke lige det med linket.
Avatar billede kovalt Nybegynder
19. juni 2007 - 12:34 #15
hvis jeg smider

alert('onClick '+ pic.onClick);

ind i slutningen af mit script prompter den det korrekt - dvs. onClick er blevet sat. Dog ser der ikke noget når jeg klikker.
Avatar billede olebole Juniormester
19. juni 2007 - 12:38 #16
<ole>

- og det ændres ikke ved at bruge lowercase (onclick), som jo er det mest korrekte?

/mvh
</bole>
Avatar billede kovalt Nybegynder
19. juni 2007 - 12:42 #17
Jeg har løst det på anden vis - men en image-button.

Du skal have tak for indsatsen
Avatar billede kovalt Nybegynder
23. juli 2007 - 22:05 #18
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester