30. januar 2005 - 00:17
Der er
21 kommentarer og 1 løsning
Et billede i en form
Hey, jeg søger en exp til at lave et således script: Jeg har feks. 4 forskellige billedere som ser sådan herud: <input type="image" name="<?php echo "$row[haar]"; ?>" src="haar/<?php echo "$row[haar]"; ?>" border="0"> <input type="image" name="<?php echo "$row1[hovede]"; ?>" src="haar/<?php echo "$row1[hovede]"; ?>" border="0"> <input type="image" name="<?php echo "$row2[hovede]"; ?>" src="hovede/<?php echo "$row2[hovede]"; ?>" border="0"> <input type="image" name="<?php echo "$row3[sko]"; ?>" src="sko/<?php echo "$row3[sko]"; ?>" border="0"> Jeg vil lave sådan når man trykker på et / flere af de billedere skal der komme en border uden om, sådan man ved den er taget / selected! Bare efter SKAL man have makert alle 4 billedere før man kan gå til formens action, hvis i forstår. /mvh net-city 2005
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
30. januar 2005 - 12:20
#1
Hrm, det er jeg ikke sikker på, at jeg forstår, men du kan da prøve: onclick="this.style.border='2px solid blue';"
30. januar 2005 - 14:00
#2
Altså jeg har en php sætning som henter alt fra haar i databasen (der er ca. 20 i indholdet) Så laver jeg: <input type="image" name="<?php echo "$row[haar]"; ?>" src="haar/<?php echo "$row[haar]"; ?>" border="0"> Med den onclick du har lavet til mig, og det er præsic det rigtige, men man skal KUN markert én gang, og ikke alle sammen
30. januar 2005 - 14:05
#3
Og.. selve <input onclick="this.style.border='1px solid black';" type="image" name="<?php echo "$row1[toj]"; ?>" src="toj/<?php echo "$row1[toj]"; ?>" border="0"> og de andre 3 SKAL være makerert, før man kan trykke på "Ændre" / "submit"
30. januar 2005 - 14:18
#4
Så f.eks. <script type="text/javascript"> function enableSubmit(pic){ var num = 0; var f = pic.form; var e = f.elements; for(i=0;e.length>i;i++){ if(e[i].type == 'image' && e[i].style.borderWidth == "1px") num ++; } if(num == 4) f.submit1.disabled = false; } </script> <form> <input onclick="this.style.border='1px solid black';enableSubmit(this);return false;" type="image" name="<?php echo "$row[haar]"; ?>" src="haar/<?php echo "$row[haar]"; ?>" border="0"> <input onclick="this.style.border='1px solid black';enableSubmit(this);return false;" type="image" name="<?php echo "$row1[hovede]"; ?>" src="haar/<?php echo "$row1[hovede]"; ?>" border="0"> <input onclick="this.style.border='1px solid black';enableSubmit(this);return false;" type="image" name="<?php echo "$row2[hovede]"; ?>" src="hovede/<?php echo "$row2[hovede]"; ?>" border="0"> <input onclick="this.style.border='1px solid black';enableSubmit(this);return false;" type="image" name="<?php echo "$row3[sko]"; ?>" src="sko/<?php echo "$row3[sko]"; ?>" border="0"> <input type="submit1" value="Indsend billeder"> </form>
30. januar 2005 - 14:19
#5
-- hov: <input type="submit1" value="Indsend billeder" disabled="disabled">
30. januar 2005 - 14:47
#6
Ligenu ser min kode sådan her ud: <script type="text/javascript"> function enableSubmit(pic){ var num = 0; var f = pic.form; var e = f.elements; for(i=0;e.length>i;i++){ if(e[i].type == 'image' && e[i].style.borderWidth == "1px") num ++; } if(num == 4) f.submit1.disabled = false; } </script> <form name="skift" method="post" action="?andre=ok"> <input onclick="this.style.border='1px solid black';enableSubmit(this);return false;" type="image" name="<?php echo "$row[haar]"; ?>" src="haar/<?php echo "$row[haar]"; ?>" border="0"> <input onclick="this.style.border='1px solid black';enableSubmit(this);return false;" type="image" name="<?php echo "$row1[toj]"; ?>" src="toj/<?php echo "$row1[toj]"; ?>" border="0"> <input onclick="this.style.border='1px solid black';enableSubmit(this);return false;" type="image" name="<?php echo "$row2[hovede]"; ?>" src="hovede/<?php echo "$row2[hovede]"; ?>" border="0"> <input onclick="this.style.border='1px solid black';enableSubmit(this);return false;" type="image" name="<?php echo "$row3[sko]"; ?>" src="sko/<?php echo "$row3[sko]"; ?>" border="0"> <input type="submit" name="submit1" value="Ændre" style="font-family:Tahoma; font-size:9; color:black; background-color:rgb(153,153,153); margin:1; border-width:1px; border-color:black; border-style:solid;" disabled="disabled"> </form> Og det virker altså ikke, man kan marker alle sammen hvis det skulle være, og man submitten er hele tiden disablet!
30. januar 2005 - 15:03
#7
Hrm, det vidste jeg ikke, at input type="image" ikke blev regnet som elementer i en form, så i stedet: <script type="text/javascript"> function enableSubmit(pic){ var num = 0; var f = pic.form; var e = f.getElementsByTagName("INPUT"); for(i=0;e.length>i;i++){ if(e[i].type == 'image' && e[i].style.borderWidth == "1px") num ++; } if(num == 4) f.submit1.disabled = false; } </script>
30. januar 2005 - 15:05
#8
Jeps, perfekt. Men, man kan stadig makere feks. 4 af hår og 7 tøj. også 2 sko og 4 hoveder.
30. januar 2005 - 15:06
#9
Hvis du kunne lave sådan man KUN kan markere én af: <input src="haar/.."> <input src="sko/.."> <input src="toj/.."> <input src="hovede/.."> også sådan man kan "selecte" det markerte væk igen ved at klikke på billedet igen
30. januar 2005 - 15:18
#10
onclick="this.style.border=(this.style.borderWidth!='')?'':'1px solid black';enableSubmit(this);return false;" -- og så kunne man f.eks. <script type="text/javascript"> function enableSubmit(pic){ var num = [0,0,0,0]; var f = pic.form; var e = f.getElementsByTagName("INPUT"); for(i=0;e.length>i;i++){ if(e[i].type == 'image' && e[i].style.borderWidth == "1px") if(e[i].src.indexOf('haar/')>-1) num[0]++; else if(e[i].src.indexOf('sko/')>-1) num[1]++; else if(e[i].src.indexOf('toj/')>-1) num[2]++; else if(e[i].src.indexOf('hovede/')>-1) num[3]++; } if(num[0]==1&&num[1]==1&&num[2]==1&&num[3]==1) f.submit1.disabled = false; } </script>
30. januar 2005 - 16:39
#11
perfekt, men når man så afmarkere alle igen, kan man sagtens "submitte" igen uden nogle er markert. Og man kan stadig godt vælge feks. 2 slags hår. Man skal KUN kunne tage <input type="image" src="haar/.."> <input type="image" src="sko/.."> <input type="image" src="toj/.."> <input type="image" src="hovede/.."> Hvis du forstår!
30. januar 2005 - 16:41
#12
-- og man kan ikke få borderen udenom billede når man har afmakeret alle igen. :-s
30. januar 2005 - 16:54
#13
Ja, jeg frygtede, at det var den form for funktionalitet, du ville have ... <input onclick="enableSubmit(this);return false;" type="image" name="<?php echo "$row[haar]"; ?>" src="haar/<?php echo "$row[haar]"; ?>" border="0"> <script type="text/javascript"> var num = [false,false,false,false]; function enableSubmit(pic){ if(pic.src.indexOf('haar/')>-1){ if(!num[0]) pic.style.border = "1px solid black"; else pic.style.border = ""; num[0] = !num[0]; } if(pic.src.indexOf('sko/')>-1){ if(!num[1]) pic.style.border = "1px solid black"; else pic.style.border = ""; num[1] = !num[1]; } if(pic.src.indexOf('toj/')>-1){ if(!num[2]) pic.style.border = "1px solid black"; else pic.style.border = ""; num[2] = !num[2]; } if(pic.src.indexOf('hovede/')>-1){ if(!num[3]) pic.style.border = "1px solid black"; else pic.style.border = ""; num[3] = !num[3]; } pic.form.submit1.disabled = !(num[0]&&num[1]&&num[2]&&num[3]); } </script>
30. januar 2005 - 17:40
#14
Den er der næsten! Man kan kun klikke engang på hvert! rigtigt godt, men hvis man dobbelklikker på hår nummer 2 feks, kan man godt :-s Og den gider ikke trykke submit
30. januar 2005 - 17:41
#15
Undskyld! den vil godt trykke submit
30. januar 2005 - 17:54
#16
Måske tilføje ondblclick="return false;" ?-)
30. januar 2005 - 18:08
#17
Virker dog stadig ikke, man kan sagtens markere 2 slags tøj ..
30. januar 2005 - 18:09
#18
Hvis du lige smider svar og giver mig et resultat på man ikke skal kunne markere flere end én slags tøj, sko, hovede, hår så er pointsne dine! !-)!
30. januar 2005 - 18:26
#19
Tjah, en masse checks klarer jo problemet: <script type="text/javascript"> var num = ['0','0','0','0']; function enableSubmit(pic){ if(pic.src.indexOf('haar/')>-1){ if(num[0]=='0'){ pic.style.border = "1px solid black"; num[0] = pic; }else if(pic==num[0]){ pic.style.border = ""; num[0] = '0'; } } if(pic.src.indexOf('sko/')>-1){ if(num[1]=='0'){ pic.style.border = "1px solid black"; num[1] = pic; }else if(pic==num[1]){ pic.style.border = ""; num[1] = '0'; } } if(pic.src.indexOf('toj/')>-1){ if(num[2]=='0'){ pic.style.border = "1px solid black"; num[2] = pic; }else if(pic==num[2]){ pic.style.border = ""; num[2] = '0'; } } if(pic.src.indexOf('hovede/')>-1){ if(num[3]=='0'){ pic.style.border = "1px solid black"; num[3] = pic; }else if(pic==num[3]){ pic.style.border = ""; num[3] = '0'; } } pic.form.submit1.disabled = !(num[0]!='0'&&num[1]!='0'&&num[2]!='0'&&num[3]!='0'); } </script> -- og bemærk, at funktionen klarer det hele nu !-) <input onclick="enableSubmit(this);return false;" type="image" name="<?php echo $row[haar]; ?>" src="haar/<?php echo $row[haar]; ?>" border="0"> -- og velbekomme '-)
30. januar 2005 - 19:13
#20
Hmm, hvordan kan man så "$request" den? Har prøvet med: <input onclick="enableSubmit(this);return false;" type="image" name="toj" value="<?php echo "$row1[toj]"; ?>" src="toj/<?php echo "$row1[toj]"; ?>" border="0"> altså hvor jeg kalder <input'en toj også laver en value, men den giver intet resultat.
30. januar 2005 - 19:14
#21
også kalder med. <?php $toj = $_REQUEST['toj']; // calling ?>
30. januar 2005 - 19:31
#22
..hallo?
Vi tilbyder markedets bedste kurser inden for webudvikling