PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formular per Textlink abschicken


µaTh
01.09.2006, 11:20:26
Hallo,

ich will formulare per textlink abschicken, weil ich die buttonvariante ziemlich hässlich finde. ich habe das jetzt über javascript hinbekomen.


<html>
<body>
<form name=test action=index.php method=post>
<input name=input1 value="wert">
<input type=submit name=link1 value=los>
<input type=submit name=link2 value=los2>
<a href="javascript:document.test.submit()" name=link3>JavaScriptAbsenden</a>
</form>
<?php
if (isset($_POST['link1'])) echo "Button1".$_POST['input1'];
if (isset($_POST['link2'])) echo "Button2".$_POST['input1'];
if (isset($_POST['link3'])) echo "Button3".$_POST['input1'];
?>
</body>
</html>

nun möchte ich aber, dass der name des links noch mit übergeben wird, wie ich es oben versucht habe. kennt da jemand von euch eine möglichkeit?

Viele Grüße

µaTh

k0pFnuSs
01.09.2006, 13:25:47
hi

setzt doch die info die du in den link setzt in ein hidden field hat die gleiche wirkung ;)

µaTh
01.09.2006, 17:54:13
das wäre ein möglichkeit, löst aber nicht mein problem. ich erweitere mal den quelli:


<html>
<body>
<form name=test action=index.php method=post>
<input name=input1 value="wert">
<input type=submit name=link1 value=los>
<input type=submit name=link2 value=los2>
<a href="javascript:document.test.submit()" name=link3>JavaScriptAbsenden</a>
<a href="javascript:document.test.submit()" name=link4>JavaScriptAbsenden Klappe die zweite</a>
</form>
<?php
if (isset($_POST['link1'])) echo "Button1".$_POST['input1'];
if (isset($_POST['link2'])) echo "Button2".$_POST['input1'];
if (isset($_POST['link3'])) echo "Button3".$_POST['input1'];
if (isset($_POST['link4'])) echo "Button4".$_POST['input1'];
?>
</body>
</html>


ich will, dass mehrere links auf das formular zu greifen und abhängig vom gedrückten link, die formulardaten weiterbearbeiten.

xlb
02.09.2006, 01:02:03
Hallo.

Du kannst das Action-Attribut nachträglich verändern und so einen entsprechenden "Link-Query" anhängen:

javascript:

function Send(LName)
{
document.NAME_DES_FORMULARS.action='NAME_DES_FILES?LinkName='+LName;
document.NAME_DES_FORMULARS.submit();
}

html :

<a name="Link1" href="javascript:void(0)" onclick="Send(this.name)">Submit 1</a>
<a name="Link2" href="javascript:void(0)" onclick="Send(this.name)">Submit 2</a>
<a name="Link3" href="javascript:void(0)" onclick="Send(this.name)">Submit 3</a>

Funktioniert nur mit Formularen, die mittels "POST" versendet werden !

Das diese "Funktionalität" bei deaktiviertem Javascript ins Leere läuft, muss ich ja eigentlich nicht erwähnen ...

edit: stelle gerade fest, dass der IE hier nicht mitmacht.