JavaScript: Button vor absenden ändern

J

Jonny83

Gast
JavaScript: Button vor absenden ändern

Da ich mich mit JS nicht wirklich gut auskenne, bräuchte ich da mal eure Hilfe:

Ich hab ein Formular, dass man über drei verschiedene Buttons absenden kann - jeder Button hat für die Verarbeitung des Formulars eine besondere Bedeutung. Somit benötige ich also den "Wert" des Buttons, um bei der Verarbeitung zu wissen, welcher gedrückt wurde. Bis hierher ja kein Problem.

Wenn ich aber jetzt z.B. verschiedene Sprachen für die Seite hab, dann müssen gezwungenermaßen die Buttons auch anders heisen - haben aber damit auch einen anderen Wert (da der Value des Buttons gleichzeitig sein Name ist).

Ich bräuchte also ein Skript (bzw. eine Funktion), dass beim drücken des Buttons jenen in den zu sendenden Wert ändert und dann das Formular absendet. Kann mir da jemand helfen?
 

Herbboy

Senior Community Officer
Teammitglied
Mitglied seit
22.03.2001
Beiträge
78.781
Reaktionspunkte
5.982
AW: JavaScript: Button vor absenden ändern

kannst du nicht ne zeile einbauen, die einfach die summe der gedrückten buttons aus der datenbank (oder wo auch immer die zahl der einzelnen buttons gepeichert wird) ermitelt?
 
TE
J

Jonny83

Gast
AW: JavaScript: Button vor absenden ändern

Herbboy am 18.02.2007 15:14 schrieb:
kannst du nicht ne zeile einbauen, die einfach die summe der gedrückten buttons aus der datenbank (oder wo auch immer die zahl der einzelnen buttons gepeichert wird) ermitelt?

Sry, liegt wohl ein verständnisfehler vor ;)

Nochmal kurz etwas genauer:
Ich hab ein Formular mit div. Elementen wie Radio-Buttons, Textfelder etc.. Jetzt gibt es für dieses eine Formular drei verschiedene Submit-Buttons, wovon (verständlicherweiße) nur einer zum senden gedrückt werden kann.

Das Skript, welches das Formular verarbeitet, überprüft nun anhand des Wertes des gedrückten Buttons (alle drei Buttons heißen genauso, haben nur unterschiedliche Werte), wie das Formular verarbeitet werden soll.

Ich hoffe, dass das Problem so etwas klarer rüberkommt... :)
 

Herbboy

Senior Community Officer
Teammitglied
Mitglied seit
22.03.2001
Beiträge
78.781
Reaktionspunkte
5.982
AW: JavaScript: Button vor absenden ändern

Jonny83 am 18.02.2007 15:22 schrieb:
Herbboy am 18.02.2007 15:14 schrieb:
kannst du nicht ne zeile einbauen, die einfach die summe der gedrückten buttons aus der datenbank (oder wo auch immer die zahl der einzelnen buttons gepeichert wird) ermitelt?

Sry, liegt wohl ein verständnisfehler vor ;)

Nochmal kurz etwas genauer:
Ich hab ein Formular mit div. Elementen wie Radio-Buttons, Textfelder etc.. Jetzt gibt es für dieses eine Formular drei verschiedene Submit-Buttons, wovon (verständlicherweiße) nur einer zum senden gedrückt werden kann.

Das Skript, welches das Formular verarbeitet, überprüft nun anhand des Wertes des gedrückten Buttons (alle drei Buttons heißen genauso, haben nur unterschiedliche Werte), wie das Formular verarbeitet werden soll.

Ich hoffe, dass das Problem so etwas klarer rüberkommt... :)

ach so. d.h. zB du hast 3 button absenden, löschen, zurück. und die in 3 sprachen. also zB für absenden hast du als werte a1, a2, a3, wobei 1 2 3 dann die 3 sprachen sind, für löschen hast du b1, b2, b3 und für zurück c1, c2, c3.

ich kann kein java, aber du hast doch wahrscheinlich vom prinzip her ein script in der art

if wert = a then send, else if wert = b then delete, else if wert = c then back

oder wie?

dann kannst du ja einfach statt nur if wert = a das ganze noch 2 mal dazufgen mit

if wert = a1 send, else if wert = a2 send, else if wert = a3 send, else if wert = b1 delete...

usw.


oder geht das bei java nicht?
 

Mothman

Bekanntes Gesicht
Mitglied seit
30.10.2004
Beiträge
15.007
Reaktionspunkte
1.682
Website
www.yours-media.de
AW: JavaScript: Button vor absenden ändern

Jonny83 am 18.02.2007 15:05 schrieb:
Da ich mich mit JS nicht wirklich gut auskenne, bräuchte ich da mal eure Hilfe:

Ich hab ein Formular, dass man über drei verschiedene Buttons absenden kann - jeder Button hat für die Verarbeitung des Formulars eine besondere Bedeutung. Somit benötige ich also den "Wert" des Buttons, um bei der Verarbeitung zu wissen, welcher gedrückt wurde. Bis hierher ja kein Problem.

Wenn ich aber jetzt z.B. verschiedene Sprachen für die Seite hab, dann müssen gezwungenermaßen die Buttons auch anders heisen - haben aber damit auch einen anderen Wert (da der Value des Buttons gleichzeitig sein Name ist).

Ich bräuchte also ein Skript (bzw. eine Funktion), dass beim drücken des Buttons jenen in den zu sendenden Wert ändert und dann das Formular absendet. Kann mir da jemand helfen?

Bin mir zwar nicht sicher, ob ich dich überhaupt richtig verstanden hab. Aber das könnte dir evtl. helfen. Die fett markierten Bereiche müssen von dir angepasst werden.

Also im <header>-Bereich deiner Seite baust du das Skript hier ein:
<script type="text/javascript">

function SubmitForm(WERT){
var df = document.forms[0];

df.dein_name.value = WERT;
df.submit();
}

</script>

Innerhalb deines Formulares baust du dieses Hidden-Field ein:
<input type="hidden" id="dein_name" name="dein_name" value="" />

Deine Submit-Buttons deklarierst du dann als normale Buttons und fügst ein Event-Handler hinzu:
<input type = "button" value = "Button1" onclick = "SubmitForm('dein_Wert');">
<input type = "button" value = "Button2" onclick = "SubmitForm('dein_Wert');">
...

Jetzt hast du nach Absenden in der Variable dein_name den entsprechend übergebenen Wert.

Falls es nicht das ist, was du meinst: Nichts für ungut! %)

Gruß
 
TE
J

Jonny83

Gast
AW: JavaScript: Button vor absenden ändern

Herbboy am 18.02.2007 15:29 schrieb:
Jonny83 am 18.02.2007 15:22 schrieb:
Herbboy am 18.02.2007 15:14 schrieb:
kannst du nicht ne zeile einbauen, die einfach die summe der gedrückten buttons aus der datenbank (oder wo auch immer die zahl der einzelnen buttons gepeichert wird) ermitelt?

Sry, liegt wohl ein verständnisfehler vor ;)

Nochmal kurz etwas genauer:
Ich hab ein Formular mit div. Elementen wie Radio-Buttons, Textfelder etc.. Jetzt gibt es für dieses eine Formular drei verschiedene Submit-Buttons, wovon (verständlicherweiße) nur einer zum senden gedrückt werden kann.

Das Skript, welches das Formular verarbeitet, überprüft nun anhand des Wertes des gedrückten Buttons (alle drei Buttons heißen genauso, haben nur unterschiedliche Werte), wie das Formular verarbeitet werden soll.

Ich hoffe, dass das Problem so etwas klarer rüberkommt... :)

ach so. d.h. zB du hast 3 button absenden, löschen, zurück. und die in 3 sprachen. also zB für absenden hast du als werte a1, a2, a3, wobei 1 2 3 dann die 3 sprachen sind, für löschen hast du b1, b2, b3 und für zurück c1, c2, c3.

ich kann kein java, aber du hast doch wahrscheinlich vom prinzip her ein script in der art

if wert = a then send, else if wert = b then delete, else if wert = c then back

oder wie?

dann kannst du ja einfach statt nur if wert = a das ganze noch 2 mal dazufgen mit

if wert = a1 send, else if wert = a2 send, else if wert = a3 send, else if wert = b1 delete...

usw.


oder geht das bei java nicht?

Das Skript wird in PHP verarbeitet, nicht in Java ;)

Das von dir genannte würde schon funktionieren, bedeutet aber, dass ich jedesmal beim hinzufügen oder ändern einer Sprache das im ganzem Programm ändern müsste.

Soweit ich weiß kann man per JavaScript ein Dokument Client-Seitig umschreiben - somit wäre meine überlegung gewesen, dass beim drücken des Buttons eine Funktion den Namen des Buttons ändert und dann das Formular absendet. Somit wäre meine Programmstruktur ungeändert und ich könnte beliebig viele Sprachen einfügen oder ändern.
 
TE
J

Jonny83

Gast
AW: JavaScript: Button vor absenden ändern

Mothman am 18.02.2007 15:45 schrieb:
Bin mir zwar nicht sicher, ob ich dich überhaupt richtig verstanden hab. Aber das könnte dir evtl. helfen. Die fett markierten Bereiche müssen von dir angepasst werden.

Also im <header>-Bereich deiner Seite baust du das Skript hier ein:
<script type="text/javascript">

function SubmitForm(WERT){
var df = document.forms[0];

df.dein_name.value = WERT;
df.submit();
}

</script>

Innerhalb deines Formulares baust du dieses Hidden-Field ein:
<input type="hidden" id="dein_name" name="dein_name" value="" />

Deine Submit-Buttons deklarierst du dann als normale Buttons und fügst ein Event-Handler hinzu:
<input type = "button" value = "Button1" onclick = "SubmitForm('dein_Wert');">
<input type = "button" value = "Button2" onclick = "SubmitForm('dein_Wert');">
...

Jetzt hast du nach Absenden in der Variable dein_name den entsprechend übergebenen Wert.

Falls es nicht das ist, was du meinst: Nichts für ungut! %)

Gruß

Danke, das dürfte dem Entsprechen was ich suche! Werd's gleich mal ausprobieren =)
 
Oben Unten