Ketzer: Grafische Buttons & Übergabe von Variablen

Also, so sieht mein Formular aus:

<form name="login" method="post" action="$PHP_SELF">
<table><tr><th><img src="../pics/titel.gif"></th></tr>

<tr><th>Name:</th>
<td><input type="text" name="name" size=32 maxlength=32></td></tr>

<tr><th>Password:</th>
<td><input type="password" name="pwd" size=32 maxlength=32></td></tr>

<tr><td><a href="javascript:history.back()"><img src="../pics/back.gif"></a></td>

===Dieser Button ist im folgenden gemeint===
<td><input onClick="Encode(); return true;" type="image" src="../pics/submit.gif" name="action" value="Login"></td></tr>

<tr><td><input type="hidden" name="code" value=""></td></tr>
</table>
</form>

Nachdem man das Formular "abschickt", kommt eine PHP - Abfrage die so aussieht:

if ($action == "Login")

Nur leider funktioniert die nur wenn ich den Button so verändere:
<td><input onClick="Encode(); return true;" type="submit" name="action" value="Login"></td></tr>

In der JS- Encode - Funktion macht es keinen Unterschied ob ich da nochmal document.login.submit() aufrufe und/oder document.login.action.value = "Login" setze oder eben nicht. Funktioniert alles nicht :(

Kann mir da jemand weiterhelfen?

  1. Hallo (FAQ nicht gelesen?)

    ===Dieser Button ist im folgenden gemeint===
    <td><input onClick="Encode(); return true;" type="image" src="../pics/submit.gif" name="action" value="Login"></td></tr>

    Bei type="image" werden immer die Koordinaten in der Form name.x und name.y übertragen (wie das in PHP rauskommt, weiß ich nicht genau, aber ich meine $name_x und $name_y)
    action ist ein sehr ungünstig gewählter Name.
    Was ist mit document.formularname.action gemeint?
    Das action-Attribut des Formulars oder das Formularelement namens action? Verwende einen anderen Namen.

    Nachdem man das Formular "abschickt", kommt eine PHP - Abfrage die so aussieht:

    if ($action == "Login")

    Das paßt nicht mit den übertragenen Daten zusammen.

    Nur leider funktioniert die nur wenn ich den Button so verändere:
    <td><input onClick="Encode(); return true;" type="submit" name="action" value="Login"></td></tr>

    Auch dann besteht noch das Problem, daß action zweideutig ist.

    In der JS- Encode - Funktion macht es keinen Unterschied ob ich da nochmal document.login.submit() aufrufe und/oder document.login.action.value = "Login" setze oder eben nicht. Funktioniert alles nicht :(

    Siehe oben, der Name action ist ungünstig.

    Andreas

    1. Hallo :)

      Hallo (FAQ nicht gelesen?)

      Ups, nein sorry, hatte ich nicht gemacht :/

      Das mit dem Namen hatte ich mir auch schon gedacht und daraufhin einen anderen getestet, aber das hat auch nicht geholfen. Hab nur hier wieder den uneindeutigen hingeschrieben weil das dann mit dem Beispiel übereinstimmt das ich hatte. Da wurde das genauso gemacht, nur halt mit einem Standard-Submit Button.

      Naja gut, aber dann bleib ich mal beim umbenennen und versuche mal weiterhin an die übertragenen Daten zu gelangen.

      Grüße,
      Ketzer