Action Wert des Formular nach Button Klick verändern

Hi,

ich möchte per den Inhalt von <Form method="POST" action="ZuVerändernderWert"> nach einem Button Ereigniss verändern.

Wird Button 1 geklick so soll Beispielsweise der Wert "Client.HauptServlet" hinein und das Servlet gestartet werden.
Für Button 2 soll der Wert "Client.SpielServlet" hinein und gestarten werden.
Für Button 3 das Gleich und Button 4 soll ein Refresh machen. Wie kann ich den Wert in action verändern. Hier mein Code:
Code:
<HTML>
<head><title>Test</title></head>
<body><center>
<FORM method="POST" action= variable>
<B>
<font face="Arial"><font color="#000000">Mein Formular</font></font>
</B>
<BR>
<BR>
<input type="button" value=" button1 " name="button1" onclick=Funktion1()>
<input type="button" value=" button2 " name="button2" onclick=Funktion2()>
<input type="button" value=" button3 " name="button3" onclick=Funktion3()>
</FORM>
</CENTER>
<input type="button" value=" button4" name="button4" onclick=Funktion4()>
</BODY> 
</HTML>
 
Mal ne dumme Frage: Was ist denn "Client.HauptServlet" überhaupt und was macht es?

Mit document.forms[0].setAttribute('action','Wert') kannst du den wert des Action-Attributes im ersten Formular innerhalb der Datei zu Wert verändern.

Falls du noch das Formular mitverändern willst: Im Prinzip kannst du einfach per DOM Elemente ins Formular einhängen oder dessen innerHTML-Eigenschaft verändern.
 
Morsche,

das ist mein Servlet das die ganze Anwendung im Hintergrund starten um die HP dynamisch gestalten zu können, z.B User oder Admin.

Ich hätte jetzt eher gedacht das beim action ein get hinkommt und in der JavaScript Funktion innerhalb einer if else Methode "gesettet" wird. JavaScript für mich absolutes Neuland also nicht die Augen verdrehen :suspekt: .

Meinst du so:

Code:
<FORM method="POST" action= document.forms[0].setAttribute('action','Wert')>

Und wofür steht das 0 in forms[0] ? Das Erste Formular :confused: ?
 
Du hast schon recht, das was ich gepostet habe war nur der JavaScript-Befehl, der muss in eine Funktion. Etwa so:
HTML:
<HTML>
    <head><title>Test</title>
   
   <script type="text/javascript"><!--
   
   function Funktion1() {
       document.forms0.setAttribute('action','Wert');
   }
   
   //--></script>
   
   </head>
   <body><center>
   <FORM method="POST" action= variable>
   <B>
   <font face="Arial"><font color="#000000">Mein Formular</font></font>
   </B>
   <BR>
   <BR>
   <input type="button" value=" button1 " name="button1" onclick="Funktion1()">
   </CENTER>
   <input type="button" value=" button4" name="button4" onclick="window.location.reload()">
   </BODY> 
  </HTML>
Du kannst den javascript-Code auch ohne den Umweg einer Funktion direkt in den onclick schreiben. Das habe ich bei deinem "button4" so gemacht. Bei beidem die Anführungszeichen ( " ) nicht vergessen!

forms[0] bezeichnet das erste Formular im Dokument, forms[1] somit das zweite und forms[4] das fünfte. Die Zählung beginnt also, wie meistens bei Computern mit Null und nicht mit Eins. Auch das hast du richtig vermutet.
 
Zurück