Avatar billede net-city Nybegynder
04. februar 2005 - 14:59 Der er 16 kommentarer og
1 løsning

Til kloger javascript folk.

Hejsa.
dette spørgsmål vil jeg forklarer rigtig godt, for i kan følge mig, hvad jeg vil o.lign, så her kommer det.

Jeg vil spørge om man kan lave en value på en <input type="image" ..

Hvis man ikke kan, kan man så ikke lave noget som ligner meget det, den skal vises billedet, og have en value på, og når man klikker på billedet, skal den ikke gå over i en form med det samme, først når man har valgt 4.

Jeg tror ikke i forstod det, men her kommer en kode stumpt, som jeg fik hjælp af Roenving til.

<input onclick="enableSubmit(this);return false;"  type="image" name="toj" value="<?php echo "$row1[toj]"; ?>" src="toj/<?php echo "$row1[toj]"; ?>"  border="0">

Da jeg prøvede at sætte en "value" på, ville den ikke udskrive dataen i formens action (get.php) hvor jeg lavede
<?php print(" ".$_GET[toj]." "); ?>

Nogle der har en idé, eller kan sætte en value på en input type="image", eller er jeg helt forkert på den?

Seriøse bud tak!

- Net-city.
Avatar billede olebole Juniormester
04. februar 2005 - 23:29 #1
<ole>

En type="image" fungerer på en lidt anden måde og du kan ikke sætte en value. Prøv denne:

<?
print "<xmp>";
var_dump($_GET);
print "</xmp>";
?>

<form action="<?=$_SERVER["PHP_SELF"]?>" method="get">
    <input type="image" src="pic.jpg" name="toj" value="værdi">
</form>

- så vil du se, værdien ikke optræder - men at du har to variabler, der repræsenterer koordinaterne for det sted, brugeren klikkede. Det er din knaps value.

Du kan i stedet sætte værdien på et hidden field, men da jeg ikke forstår, hvad du vil, kan jeg ikke anvise, hvordan.

/mvh
</bole>
Avatar billede net-city Nybegynder
04. februar 2005 - 23:40 #2
Ja, det jeg vil, af og få vist den "value" man valgte i en <input type="image" ..>

men som sagt, har jeg prøvet
<?print("$_GET[valuen_på_feltet]");?>
Avatar billede olebole Juniormester
04. februar 2005 - 23:59 #3
Du kan ikke vælge en value på en type="image" ... tag dig nu sammen og gør noget ud af dine forklaringer
Avatar billede roenving Novice
05. februar 2005 - 01:13 #4
Måske sådan:

<input type="hidden" name="verdifelt">
<input onclick="enableSubmit(this);this.form.verdifelt='<?php echo "$row1[toj]"; ?>';return false;"  type="image" name="toj" src="toj/<?php echo "$row1[toj]"; ?>"  border="0">
Avatar billede net-city Nybegynder
05. februar 2005 - 21:25 #5
Jeps, også få det frem via $_REQUEST[verdifelt] eller?
For $_REQUEST[haar] virker ikke.
Avatar billede olebole Juniormester
05. februar 2005 - 21:50 #6
For det første bør du ikke bruge $_REQUEST, men $_GET og/eller $_POST. Dernæst bør du - som jeg har fortalt dig et utal af gange - huske gåseøjnene i array-kald.
Det virker somom, du nærmest sætter en ære i at skrive dårlig kode, for hver eneste gang, du bliver rettet i noget, stiller du et par dage efter op med noget tilsvarende slam ... har du aldrig i sinde at lære?

Hvordan havde du i øvrigt forestillet dig, at $_REQUEST[haar] skulle komme ind i billedet? Jeg kan ikke se felter, der hedder noget med 'haar'
Avatar billede net-city Nybegynder
05. februar 2005 - 23:45 #7
Hør mester! :)
Det virker da ikke ved at skrive
<?php
echo $_GET['verdifelt'];
echo "<br />";
echo $_POST['verdifelt'];
Avatar billede olebole Juniormester
06. februar 2005 - 00:00 #8
Jo, hvis du skriver:

<input type="hidden" name="verdifelt">
<input onclick="enableSubmit(this);this.form.verdifelt.value='<?php echo "$row1[toj]"; ?>';return false;"  type="image" name="toj" src="toj/<?php echo "$row1[toj]"; ?>"  border="0">

;o)
Avatar billede net-city Nybegynder
06. februar 2005 - 01:32 #9
nej, det gør ej!
Se selv koden..
http://webgeek.dk/Naturechat/chat/skabet3.php?andre=ok

udskriver med en masse forskellige for at være sikker ;)

<?php
echo $_REQUEST['haar'];
echo $_POST['haar'];
echo $_GET['haar'];
echo $_REQUEST['verdifelt'];
echo $_POST['verdifelt'];
echo $_GET['verdifelt'];
?>
Avatar billede net-city Nybegynder
06. februar 2005 - 01:35 #10
jo det gør sq! :O
tak man! læg svar!
Fuck jeg elsker dig ole! :O!!!

SHIT MAN!
smid svar!
Avatar billede net-city Nybegynder
06. februar 2005 - 01:38 #11
forstår bare ikke hvorfor den udskriver nummeret 6, når jeg får resultatet frem.
Avatar billede net-city Nybegynder
06. februar 2005 - 01:39 #12
Får kun ét nummer frem hvorfor?

udskriver med
$_POST['verdifelt'];
Avatar billede net-city Nybegynder
06. februar 2005 - 01:40 #13
Aaah smart, lavede 4 forskellige hidden også videre.. læg svar!
Avatar billede olebole Juniormester
06. februar 2005 - 02:23 #14
Hmmm ... tror du ikke, dette er lidt federe:

<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';
    }
  }

  if (num[0]!='0'&&num[1]!='0'&&num[2]!='0'&&num[3]!='0') {
    var f = document.getElementById("myForm");
    f.haar.value = num[0].src;
    f.hovede.value = num[1].src;
    f.toj.value = num[2].src;
    f.sko.value = num[3].src;
    f.submit();
  }
}
</script>

<img src="haar/1" onclick="enableSubmit(this);">
<img src="toj/3" onclick="enableSubmit(this);">
<img src="hovede/2" onclick="enableSubmit(this);">
<img src="sko/4" onclick="enableSubmit(this);">

<form id="myForm" method="get">
    <input type="hidden" name="haar">
    <input type="hidden" name="hovede">
    <input type="hidden" name="toj">
    <input type="hidden" name="sko">
</form>

Så må du selv kunne finde ud af at banke PHP'en ind
Avatar billede olebole Juniormester
06. februar 2005 - 02:29 #15
Nja ... skriv hellere din form sådan:

<form id="myForm" action="" method="post">
    <input type="hidden" name="andre" value="ok">
    <input type="hidden" name="haar">
    <input type="hidden" name="hovede">
    <input type="hidden" name="toj">
    <input type="hidden" name="sko">
</form>

- så har du alle variablerne liggende i $_POST ... også 'andre'
Avatar billede net-city Nybegynder
06. februar 2005 - 02:41 #16
Ligemeget, har fikset det er det hele!
Lægger du svar
Avatar billede net-city Nybegynder
23. februar 2005 - 22:19 #17
lukketid
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