Button Value/ Beschriftung

ronaldo84

Erfahrenes Mitglied
Hallo,

ich habe ein Problem. Hoffe das ich hier richtig bin. Habe nicht dazu gefunden, auch wenn ich mir vorstellen kann, dass das Problem häufiger auftritt. Ich habe einen Submit-Button. Dieser hat eine Beschriftung. Die Beschrifung bestimme ich ja mit dem Attribut "value". Nun möchte ich aber das der Button einen anderen Wert hat als die Beschriftung. Ich habe z.B. den Button mit der Beschrifung "In den Warenkorb". Wenn ich nun das ganze mit echo
Code:
$_POST["Button"]; (PHP)
Abfrage will ich aber nicht den Text "In den Warenkorb" erhalten, sondern eine Zahl, die ich gerne irgendwie mit übergeben würde. Aber wenn ich das Value-Attribut auf die Zahl änder kommt dann wieder die Zahl als Beschriftung.
Ich weiß auch das man mit
Code:
<button></button>
einen Button selbst definieren kann.
Wenn ich aber
Code:
<button value="12334" name="ddd">In den Warenkorb</button>
Mache erhalte ich mit dem PHP-Code wieder "In den Warenkorb". Hoffe mein Problem ist verständlich. War mir nicht sicher ob ich es in Javascript Forum oder hier posten sollte. Habe mich für hier entschieden. Wenn es falsh ist, bitte ich es zu verschieben.
Danke

P.S.: Falls einer meint ich hätte nciht richtig gesucht, kann er mir gerne auch nur die Suchbegriffen sagen, ich habe es mit "Button, value, beschriftung, caption" versucht.
Danke
 
Könntest du nicht auch mit versteckten Input-Feldern arbeiten?
HTML:
<input type="hidden" name="d[xy]" value="1234">

Wenn es umbedingt ein bestimmter Button sein soll, dessen Beschriftung und Wert verschieden sein sollen, kann man da sicher etwas mit Javascript machen...
Z. B. mit dem Handler onsubmit beim Abschicken des Formulars eine Funktion aufrufen, die noch schnell die Beschriftung/den Wert ändert...
 
Das mit Javascript habe ich auch schon versucht.
Code:
<input type="button" name="warenkorb" onclick="change($artnr)" value="In den Warenkorb">

Dabei die Function change:
Code:
function change(artn)
{document.produkt.warenkorb.value=artnr;
document.produkt.submit();
}
Das hatte auch alles geklappt. Leider habe ich dann mittels
$_POST["warenkorb"] gar nichts mehr erhalten. Warum weiß ich auch nicht.
 
Hi.
ronaldo84 hat gesagt.:
Code:
<button value="12334" name="ddd">In den Warenkorb</button>
Das sollte eigentlich genau so funktionieren. Evtl. hatte dein Browser noch eine alte Version der Seite im Cache? (einfach mal den Browser neu starten) Oder du hast einen Fehler in deinem PHP Code?

(ein minimales, komplettes Beispiel wäre evtl. hilfreich)

Gruß

/edit: Aha, hab's gerade mit dem IE 6 ausprobiert und der unterstützt das value Attribut bei Buttons nicht. Entweder du nimmst die alten <input> Buttons oder du könntest auch mit Javascript ein verstecktes <input> feld auf den Wert setzen den der Button haben sollte. Ist aber irgendwie alles nicht so prall.
 
Zuletzt bearbeitet:
Hi,

wenn Du Javascript voraussetzen möchtest mach es doch so:

Javascript:
<script>
function WertAendernUndAbschicken(argWert){
document.Warenkorbform.Zahlenwert.value=argWert;
document.Warenkorbform.submit();
}
</script>
HTML:
<form name="Warenkorbform">
<input type="hidden" name="Zahlenwert" value="">
<input type="button" value="in den Warenkorb" onclick="javascript:WertAendernUndAbschicken(123)">
</form>

Zahlenwert ist der Wert der übergeben werden soll. Das Formular wird nur übergeben wenn auch Javascript aktiviert wurde und daher auch das Feld Zahlenwert mit dem übergebenen Wert gefüllt wurde.

Mußt Du sicher noch überarbeiten damit es keine Javascriptfehler mehr gibt aber ein bisschen basteln macht ja spass :)

Gruss,

Thomas
 

Neue Beiträge

Zurück