# 2 "<form>" auf einer Seite



## proloser (10. Oktober 2006)

Hallo,

ich habe auf einer Seite, 2 "<form>" warum funktioniert immer nur einer?
Was mach ich falsch oder gibt es für so etwas eine andere möglichkeit?

Im Prinzip will ich auf einem Input Button einen Link!  


```
<form action="antwort.php" method="POST"><input type="button" value="antworten" name="antworten_button"></form>

<form action="löschen.php" method="POST"><input type="submit" value="löschen"></form>
```

MfG


----------



## Maik (10. Oktober 2006)

Notiere mal die input-Elemente in einem Formular:


```
<form action="antwort.php" method="POST">
    <input type="button" value="antworten" name="antworten_button">
    <input type="reset" value="löschen">
</form>
```


----------



## proloser (10. Oktober 2006)

Wenn ich das in einem Formular mache habe ich ja nur ein "action" und ich brauche ja zwei um mit einem Button auf antwort.php und mit dem anderen auf löschen.php zu gelangen!

Das hilft mir nicht weiter ....

```
<input type="reset" value="löschen">
```


----------



## mAu (10. Oktober 2006)

```
<form action="do.php" method="post">
   <input type="radio" name="what" value="edit"> Edit
   <input type="radio" name="what" value="delete"> Delete
   <input type="submit" value="Mach">
</form>
```


```
<?php
// do.php
if(isset($_POST['what']))
{
    switch($_POST['what'])
    {
        case 'edit':
            header('Location: edit.php');
        break;
        case 'delete':
            header('Location: delete.php');
        break;
        default:
            header('Location: choice.html');
        break;
    }
}
?>
```


----------



## Gumbo (10. Oktober 2006)

Eine andere Möglichkeit wäre, zwei Absende-Formularelementen unterschiedliche Namen zu geben und im verarbeitenden Skript zu prüfen, welche der beiden Argumente übermittelt wurden. Siehe dazu auch das Kapitel über erfolgreiche Steuerelemente.


----------



## proloser (10. Oktober 2006)

Das wäre in meinem Script schwer zu machen!

Gibt es nicht die möglichkeit auf ein normalen Button einen Hyperlink zu setzen?

MfG


----------



## mAu (10. Oktober 2006)

Du kannst in ein Hyperlink ein Button einfügen, das funktioniert (zumindest im FF)! Ob das allerdings (X-)HTML-Konform ist? Ansonsten, was spricht gegen einfache Hyperlinks, ohne den Button?


----------



## Maik (10. Oktober 2006)

```
<button type="button" onclick="self.location.href='löschen.php'">Löschen</button>
```


----------



## proloser (10. Oktober 2006)

Klar ohne Button wäre es kein Problem aber mir würd es besser gefallen!  


Ich dachte mir wenn es mit dem "Zurück" Button möglich ist kann es kein Problem sein statt zurück auf eine andere Seite zu springen.


```
<input type="button" value="zurück" name="back_button" onClick="javascript:history.back(1)">
```


MfG


----------



## mAu (10. Oktober 2006)

@michaelsinterface: Ja schön, und wenn Javascript aus ist ?


----------



## Maik (10. Oktober 2006)

```
<input value="löschen" type="button" onclick="self.location.href='löschen.php'">
```

@mAu: Klar, wenn JavaScript deaktiviert ist, geht nix. Aber dann könn(t)en wir ja alle JS-Features zu Grabe tragen


----------



## proloser (10. Oktober 2006)

```
<input value="löschen" type="button" onclick="self.location.href='löschen.php'">
```

Funktioniert zwar aber sobald ich es über das Template Script aufrufe geht nichts mehr!


----------



## mAu (10. Oktober 2006)

Ja aber bei einem Link/Button? Der sollte ja schon funktionieren  Noch ein Lösungsvorschlag... Grafikprogramm deiner Wahl öffnen, Screenshot von einem Button machen, zurechtschneiden, beschriften und..

```
<a href="löschen.php"><img src="bDelete.gif" alt="Löschen" /></a>
```
Pfad von _löschen.php_ bei den Templates anpassen? Also wenn _tpl.php_ im Root liegt und _löschen.php_ woanders, dann _woanders/löschen.php_


----------



## Maik (10. Oktober 2006)

@mAu: Ich habe lediglich die Möglichkeit aufgezeigt, wie sich auf einen Button ein Link setzen lässt


----------



## proloser (10. Oktober 2006)

Nein, es muss an etwas anderem liegen denn sobald ich es über die Templates aufrufe passiert nichts und in der Statusleiste wird ein Fehler angezeigt!


----------



## Gumbo (10. Oktober 2006)

Wieso nicht gleich:
	
	
	



```
<a href="foobar"><input type="button" value="foobar"></a>
```
Oder aber:
	
	
	



```
<a href="foobar"><button>foobar</button></a>
```


----------



## Maik (10. Oktober 2006)

Weil's der IE (mal wieder) nicht unterstützt


----------

