hoi ik heb een vraag.
Hoe kan ik als ik op deze image klik gelijk de value verzenden zonder dat ik een knop submit hoef te gebruiken.

<form id="form1" name="form1" method="post" action="">
<input type="image" value="de_waarde" src="image.gif" width="97"
</p>
<p>
<input type="image2" value="de_waarde2" src="image2.gif" width="97" height="63" />
</p>
<p>
<input type="image3" value="de_waarde3" src="image3.gif" width="97" height="63" />
</p> height="63" />
</form>

Alvast bedankt
Geef hem een name.
nee hij doet net als een submit button.
Volgens mij bedoel je zoiets ofniet?

<input type="submit" style="background:url(jouwbestand.gif); background-repeat:no-repeat; width:25px; height:25px; border:0;" name="button" value="">

Moet je natuurlijk wel effe de info aanpassen naar jouw wens.
thnx Mr.Ark het is niet wat ik bedoel, even wat meer info geven denk ik. Als ik een van deze achtergronden op de pagina wil hebben dan klik je op de achtergrond die je wil hebben zonder radiobutton of wat dan ook alleen klikken op de foto en de achtergrond is gezet in de cookie.

hier is het script.

Achtergrond.php
<?php

if ($_POST['style'])
{
$Achtergrond = $_POST['style'];

if ($_POST['style'] == $Achtergrond)
{
setcookie("Achtergrond", $Achtergrond, time()+86400*12*4);
setcookie("Testtext", $Testtext, time()+86400*12*4);
}
header("Location: index.php");
}

?>
<form action="Achtergrond.php" method="POST">
<input type="image" name="style" value="Achter.gif" src="image.gif" width="97"
</p>
<p>
<input type="image2" name="style" value="achter2.gif" src="image2.gif" width="97" height="63" />
</p>
<p>
<input type="image3" name="style" value="achter3.gif" src="image3.gif" width="97" height="63" />
</p> height="63" />
</form>

index.php
<?php
if(isset($_COOKIE['Achtergrond']))
{
$Achtergrond = $_COOKIE['Achtergrond'];
}

if (isset($Achtergrond))
{
if ($Achtergrond == $_COOKIE['Achtergrond'])
{
echo "<style type=text/css>";
echo "body { background-image: url(".$Achtergrond.");";
echo "background-repeat: no-repeat;";
echo "background-position: center;";
echo "background-position: top;";
echo "</style>";}
}


?>
<input type="image" src="/jaddiejaddie.jpg" />
Om te beginnen kan type in dit geval enkel "image" zijn, dus niet "image2" of "image3". Dus zo:

<form action="achtergrond.php" method="POST">
  <input type="image" name="style1" src="image1.gif" />
  <input type="image" name="style2" src="image2.gif" />
  <input type="image" name="style3" src="image3.gif" />
</form>

Na het posten krijg je dan een array met coordinaten:

Array
(
[style1_x] => 66
[style1_y] => 36
)

Je kunt dus controleren of style1_x is gezet, dan is er geklikt op image1. Dus met if bepaal je dan wat de waarde is.

Een netter alternatief is om met een javascript functie te werken die eerst een waarde aan de hidden veld toekend en daarna het formulier submit. Die functie roep je dan aan met een onclick op het plaatje.
Bij deze post ik nog even een voorbeeld voor de alternatieve oplossing, zo zou ik het zelf ongeveer doen iig:

<script type="text/javascript">
function achtergrond(formulierID, waarde) {
  document.getElementById(formulierID).achtergrond_image.value = waarde;
  document.getElementById(formulierID).submit();
}
</script>

<form action="achtergrond.php" id="achtergrond" method="POST">
  <input name="achtergrond_image" type="hidden" value="" />
</form>

<img src="image1.gif" onclick="achtergrond('achtergrond', 'style1');" />
<img src="image2.gif" onclick="achtergrond('achtergrond', 'style2');" />
<img src="image3.gif" onclick="achtergrond('achtergrond', 'style3');" />

Dit krijg je gepost:

Array
(
[achtergrond_image] => style1 (= de waarde die je bepaald bij de onclick op de images)
)
Lauren schreef op 03.11.2009 10:47
Bij deze post ik nog even een voorbeeld voor de alternatieve oplossing, zo zou ik het zelf ongeveer doen iig:

<script type="text/javascript">
function achtergrond(formulierID, waarde) {
  document.getElementById(formulierID).achtergrond_image.value = waarde;
  document.getElementById(formulierID).submit();
}
</script>

<form action="achtergrond.php" id="achtergrond" method="POST">
  <input name="achtergrond_image" type="hidden" value="" />
</form>

<img src="image1.gif" onclick="achtergrond('achtergrond', 'style1');" />
<img src="image2.gif" onclick="achtergrond('achtergrond', 'style2');" />
<img src="image3.gif" onclick="achtergrond('achtergrond', 'style3');" />

Dit krijg je gepost:

Array
(
[achtergrond_image] => style1 (= de waarde die je bepaald bij de onclick op de images)
)


Hoe krijg ik dit werkend in dit script?
Ik heb al van alles geprobeert maar wil me niet lukken.
<?php

if ($_POST['style'])
{
$Achtergrond = $_POST['style'];

if ($_POST['style'] == $Achtergrond)
{
setcookie("Achtergrond", $Achtergrond, time()+86400*12*4);
}
header("Location: index.php");
}

?>


<form action="Achtergrond.php" method="POST">
<input type="image" name="style" value="Achter.gif" src="image.gif" width="97"
</p>
<p>
<input type="image2" name="style" value="achter2.gif" src="image2.gif" width="97" height="63" />
</p>
<p>
<input type="image3" name="style" value="achter3.gif" src="image3.gif" width="97" height="63" />
</p> height="63" />
</form>
Bedankt alvast
Maak even een lege pagina aan en zet daarin enkel de volgende code, dan snap je hopelijk hoe het werkt en hoe jij het in jouw geval kunt toepassen.

<?php
session_start();
if($_POST['achtergrond_image']) {
  $achtergrond = 'images/'.$_POST['achtergrond_image'].'.jpg';
  setcookie('achtergrond', $achtergrond);
  header('location: achtergrond.php');
}

echo 'De informatie in de cookie is: '.$_COOKIE['achtergrond'];
?> 

<script type="text/javascript">
function achtergrond(formulierID, waarde) {
  document.getElementById(formulierID).achtergrond_image.value = waarde;
  document.getElementById(formulierID).submit();
}
</script>

<form action="achtergrond.php" id="achtergrond" method="POST">
  <input name="achtergrond_image" type="hidden" value="" />
</form>

<img src="image1.gif" onclick="achtergrond('achtergrond', 'style1');" />
<img src="image2.gif" onclick="achtergrond('achtergrond', 'style2');" />
<img src="image3.gif" onclick="achtergrond('achtergrond', 'style3');" />


Edit: Wijzig dus wel even de target van het formulier in de pagina die je aanmaakt, dus wijzig action="achtergrond.php" in action="je_nieuwe_pagina.php".
Een onblur() meegeven aan het input veld met de functie achtergrond();

Reageren