Per Link ein Formular absenden

Hattrijck

Mitglied
Hallo zusammen,

Ich habe schon mindestens 100 Lösungswege zu dem Thema gefunden und bin langsam am Ende :X

Ich würde gerne ein Formular per Link absenden. Sprich man klickt auf ein verlinktes div und ein Formular wird abgesendet.

Mein momentaner Stand:
PHP:
<?php            
echo "<form action=\"index.php\" method=\"post\" name=\"submit\" id=\"submit\"><input type=\"hidden\" name=\"position\" value=\"$i\"><a onclick=\"document.submit.submit()\" href=\"#\"><div class=\"div\"></div></a></form>";
?>

Wenn ich momentan auf den Link klicke und mit if($_POST['submit']) das Ganze "abfangen" will, passiert nichts.

Ich hoffe ihr könnt mir helfen und bedanke mich bereits im Voraus.

MFG
hattrijck
 
Also den Anker/Link "<a></a>" kannst du doch komplett rausnehmen und es nur mit dem div-Tag lösen:


HTML:
<div class="div" onclick="javascript:document.submit.submit();">Submit</div>

Wobei du auch noch beachten musst, das das Formular nicht per POST sondern per GET abgeschickt wird! Du kannst also auch nicht auf $_POST testen und musst method="get" schreiben.
 
1. Nenn dein Formular mal nicht "submit". Das gibt Probleme mit der Methode "submit". Nenn es mal Formular und probiere es it document.Formular.submit()

2. Ich sehe keinen Sinn darin, ein <div> statt ein <a> zu verwenden.

3. Schreibt man bei onlick am Anfang "javascript:"?
 
@Anna Bolika: Wenn du dir den Quellcode anschaust, wirst du sehen das es einen div-Tag gibt welcher mit CSS formatiert wird. Deshalb habe ich auch einen genommen.

Ansonsten wenn schon Anker dann so:

HTML:
<a onclick="document.submit.submit(); return false;" href="javascript:{};" >Klick</a>
 
Habs durchprobiert aber irgendwie bekomm ichs nicht hin:
HTML:
<form action="index.php" method="get" name="Formular" id="Formular"><input type="hidden" name="position" value="1"></form><a onclick="document.Formular.submit(); return false;" href="javascript:{};"><div class="div"></div></a>
Das Ganze probier ich so abzufangen:
PHP:
    <?php
    if($_GET['Formular'])
    {
        echo "<div class=\"div2\"></div>";
    }
    ?>
 
a) du hast den Anker außerhalb des Formulars sitzen.
b) gibt es $_GET['Formular'] nicht, es gibt nur den Wert des hidden-Feldes.
 
Hi,

ich glaube tombe's b) das ist das Problem, oben prüfst du auf $_POST['submit'] - gibts nicht, beim 2. Codeaussschnitt auf $_GET['Formular'] - gibts auch nicht.

PHP:
<?php 
if(isset($_GET['position']))
{
 // ...
}
?>
 
Ich behaupte mal, dass was du amchen willst, kannst du 100mal besser anders lösen. Beschreib mal, was du genau machen willst? Einfach die input-fields woanders hinsetzen als den Submit button?
 
HTML:
<form action="index.php" method="get" name="Formular" id="Formular"><input type="hidden" name="position" value="1"><a onclick="document.Formular.submit(); return false;" href="javascript:{};"><div class="div"></div></a></form>
Der Anker ist nun im Formular.
Jetzt möchte ich das Ganze abfangen:
if(isset($_GET['Formular']))
if(isset($_GET['position']))
if($_GET['position'] == 1)

Diese 3 funktionieren alle nicht... :X
 
Also: Ich bin seit einiger Zeit an einem Spiel dran, es werden Stockwerke aus einer Datenbank geholt und aufeinander gesetzt. Diese Stockwerke soll man mit einem Klick auf sie verwalten können und da bin ich momentan.
Wenn man auf das jeweilige Stockwerk klickt, so soll ein Fenster (in Form eines divs) aufploppen und darin sollen die Einstellungen des Stockwerkes aus der Datenbank kommen.
Das Formular benötige ich, um die Daten mit zu schicken. Ich habe es auch bereits mit einer php Funktion probiert, was natürlich leichter ist, da man dort die Parameter einfach mitgeben könnte, jedoch konnte ich auch diese nicht aus dem Link/onclick div aufrufen und ein anderes Problem was mir gerade nicht einfällt war da auch noch...
 

Neue Beiträge

Zurück