• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ausgewähltem Bereich ein "value" zuweisen

syuam

Neues Mitglied
Hey leute, also hier das Gerüst meiner Tabelle:
<table style="border-collapse: collapse; width="100"; height="100"; border="1px solid black";">
<tr>
<td><input type="hidden" name="Kasten" value="Feld1"></td>
<td><input type="hidden" name="Kasten" value="Feld2"></td>
</tr>
<tr>
<td><input type="hidden" name="Kasten" value="Feld3"></td>
<td><input type="hidden" name="Kasten" value="Feld4"></td>
</tr>
</table>
Nun will ich dem Benutzer die Möglichkeit geben, eine Tabellezelle auszuwählen.
Nach dem Klick auf "submit" will ich mir die ausgewählte Tabellenzelle per "POST" auslesen lassen, daher auch die Vergabe von "value´s" für die einzelnen Zellen.
Die ausgewählte Tabellezelle(eindeutige Identifikation dank dem value) will ich dann in einer Variablen abspeichern
Nun habe ich es schon mit "select" versucht, jedoch wurde so die Darstellung der Tabelle aufgehoben..
Hoffe auf eure Hilfe,
LG und danke!
 
hallö,

also 4 Feldern mit den gleichen Namen geht nicht ausser machst Radio oder checkbox je nach dem ob ein oder mehrfach Auswahl möchtest.

cheffchen
 
und wie würde man es lösen, wenn die Felder nicht die gleichen Namen hätten?
LG und danke
 
Ich glaub hier passen eher radio-Boxen, da ja offenbar nur ein Wert ausgewählt werden soll.

Außerdem würde ich auf die Tabelle verzichten. Das sind keine tabellarischen Daten.
 
Weder noch... ich hab es nun so gemacht:
<form action="submitPage.html" method="post" onsubmit="submit();"> <table style="border-collapse: collapse;"> <tr> <td><img id="img1" src="inventory_images/berg1.jpg" onclick="changeColor(this, 1);" /></td> <td><img id="img2" src="inventory_images/berg2.jpg" onclick="changeColor(this, 2);" /></td> </tr> <tr> <td><img id="img3" src="inventory_images/berg3.jpg" onclick="changeColor(this, 3);" /></td> <td><img id="img4" src="inventory_images/berg4.jpg" onclick="changeColor(this, 4);" /></td> </tr> </table> <input type="hidden" id="markedImage" name="markedImage" /> <input type="submit" value="Submit" /> </form>
und der js-code:
<script>
markedImage = 0; // This variable used for the submit;
function unmarkAll() {
document.getElementById("img1").style.borderColor = "#000000"; // Assuming black is the default border color, you might want to change it.
document.getElementById("img2").style.borderColor = "#000000";
document.getElementById("img3").style.borderColor = "#000000";
document.getElementById("img4").style.borderColor = "#000000";
}
function changeColor(obj, markedId) {
unmarkAll();
obj.style.borderColor ="#00FF00";
markedImage = markedId;
}
</script>
<script>
function submit()
{
document.getElementById("markedImage").value = markedImage;
}
</script>
Auf der Seite submitPage.html wollte ich auslesen, welches Bild zuvor ausgewählt wurde:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php
if ($_SERVER['REQUEST_METHOD'] = "POST") {
echo "Variables coming";
} else {
die ("No Post Variables");
}
$bild = $_POST['markedImage'];
echo $bild;
?>
Allerdings wird nichts mehr "POST" übermittelt, denn ich bekomme "No Post Variables" als Meldung ausgegeben.
Wie muss ich es den nun machen?
LG
 
Zuletzt bearbeitet:
Diese Zeile würde ich mir noch mal genau ansehen:
PHP:
if ($_SERVER['REQUEST_METHOD'] = "POST")
Und bei dir werden auch HTML-Dateien geparst? Das ist aber merkwürdig.
 
Überarbeitet:

PHP:
<script> markedImage = 0;  function unmarkAll() {     document.getElementById("img1").style.borderColor = "#000000";      document.getElementById("img2").style.borderColor = "#000000";     document.getElementById("img3").style.borderColor = "#000000";     document.getElementById("img4").style.borderColor = "#000000"; } function changeColor(obj, markedId) { unmarkAll(); obj.style.borderColor  ="#00FF00"; markedImage = markedId; } </script> <script> function submit() {     document.getElementById("markedImage").value = markedImage; } </script>  <form action="submitPage.html" onsubmit="submit();"> <img id="img1" src="inventory_images/berg.jpg" onclick="changeColor(this, 1);" /> <img id="img2" src="inventory_images/berg.jpg" onclick="changeColor(this, 2);" /> <img id="img3" src="inventory_images/berg.jpg" onclick="changeColor(this, 3);" /> <img id="img4" src="inventory_images/berg.jpg" onclick="changeColor(this, 4);" /> <input type="hidden" id="markedImage" name="markedImage" value="markedImage" /> <input type="submit" value="Submit" /> </form>

und die submitPage.php (nun PHP) :
PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
echo "Es wurde ein Bild ausgew&auml;hlt<br />";
echo "Und zwar dieses:<br />";
$bild = $_POST['markedImage'];
echo $bild;
?>
Nachdem ich ein Bild ausgewählt habe und auf "submit"geklickt habe, bekomme ich jedoch:
Es wurde ein Bild ausgewählt
Und zwar dieses:

Notice: Undefined index: markedImage in /srv/disk8/1391019/www/myfirststore.eu.pn/submitPage.php on line 6
Ich will einfach nur in der submitPage.php die "id" des zuvor angeklickten Bild auslesen.
Was mache ich falsch? wie sollte es sein?
LG
 
Ein Formular ohne method="post" arbeitet per Get!!!

Aus SelfHTML
Wenn Sie method="get" wählen, hängt der Browser die Formulardaten als Parameter an die Aufrufadresse an (diese Angabe ist nicht zwingend erforderlich, da get als Default-Einstellung definiert ist). Beachten Sie, dass die Anzahl der übergebenen Zeichen je nach Browser auf ca. 2000 limitiert sein kann.
Solche Gundlagen sollte man kennen!
 
Was passiert in function changeColor und function submit??? Bitte mal genau hinsehen! PHP macht alles richtig.
 
function changeColor legt die Farbe des angeklickten Rahmen fest und nennt es "markedImage und function submit gibt den Namen "markedImage" weiter.
Wie sollte es dann sein, damit ich nicht nur die Zahl, sondern die gesamte ID bekomme?
lg
 
Ich finde es echt erschreckend, wenn man Leuten ihre eigenen Scripte erklären muss. Hier mal ohne Quellcode-Formatierung, um die wesentlichen Dinge hervorzuheben:

function changeColor(obj, markedId)
{
unmarkAll();
obj.style.borderColor ="#00FF00";
markedImage = markedId;
}
function submit()
{
document.getElementById("markedImage").value = markedImage;
}
<img id="img1" src="inventory_images/berg.jpg" onclick="changeColor(this, 1);" />

Wo eine 1 reingeht, kann auch nur eine 1 rauskommen, zumindest, wie es hier programmiert ist.
 
ja stimmt, hatte ich komplett übersehen, wenn ich allerdings nun genau das abändere in:
<img id="img1" src="inventory_images/berg.jpg" onclick="changeColor(this, img1);" />
<img id="img2" src="inventory_images/berg.jpg" onclick="changeColor(this, img2);" />
<img id="img3" src="inventory_images/berg.jpg" onclick="changeColor(this, img3);" />
<img id="img4" src="inventory_images/berg.jpg" onclick="changeColor(this, img4);" />
dann bekomme ich folgendes per echo:
Es wurde ein Bild ausgewählt
Und zwar dieses:
[object HTMLImageElement]
weißt du wieso?
lg
 
<img id="img1" src="inventory_images/berg.jpg" onclick="changeColor(this, 'img1');" />
 
Zurück
Oben