693 Stimmen

Zwei Übermittlungsschaltflächen in einem Formular

Ich habe zwei einreichen Schaltflächen in einem Formular. Wie kann ich feststellen, welche Schaltfläche serverseitig angeklickt wurde?

32voto

Verwenden Sie die formaction HTML-Attribut (5. Zeile):

<form action="/action_page.php" method="get">
    First name: <input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
    <button type="submit">Submit</button><br>
    <button type="submit" formaction="/action_page2.php">Submit to another page</button>
</form>

22voto

MevlütÖzdemir Punkte 2604
<form>
    <input type="submit" value="Submit to a" formaction="/submit/a">
    <input type="submit" value="submit to b" formaction="/submit/b">    
</form>

18voto

Shailesh Sonare Punkte 2163

Der beste Weg, mit mehreren Submit-Buttons umzugehen, ist die Verwendung eines Switch-Case im Server-Skript

<form action="demo_form.php" method="get">

    Choose your favorite subject:

    <button name="subject" type="submit" value="html">HTML</button>
    <button name="subject" type="submit" value="css">CSS</button>
    <button name="subject" type="submit" value="javascript">JavaScript</button>
    <button name="subject" type="submit" value="jquery">jQuery</button>
</form>

Servercode/Serverskript - wo Sie das Formular absenden:

Datei demo_form.php

<?php
    switch($_REQUEST['subject']) {

        case 'html': // Action for HTML here
                     break;

        case 'css': // Action for CSS here
                    break;

        case 'javascript': // Action for JavaScript here
                           break;

        case 'jquery': // Action for jQuery here
                       break;
    }
?>

Fuente: W3Schools.com

12voto

Joakim Punkte 1749

Vielleicht haben die hier vorgeschlagenen Lösungen im Jahr 2009 funktioniert, aber ich habe alle hochgestuften Antworten getestet und keine funktioniert in irgendeinem Browser.

Die einzige funktionierende Lösung, die ich gefunden habe, ist diese (aber sie ist etwas hässlich, denke ich):

<form method="post" name="form">
    <input type="submit" value="dosomething" onclick="javascript: form.action='actionurl1';"/>
    <input type="submit" value="dosomethingelse" onclick="javascript: form.action='actionurl2';"/>
</form>

12voto

thirumal mani L Punkte 145

Sie suchen nach einer Funktion für mehrere Übermittlungsschaltflächen in einem Formular Beispiel:

 <input type="submit" name="" class="btn action_bg btn-sm loadGif" value="Add Address" title="" formaction="/addAddress"> 
 <input type="submit" name="" class="btn action_bg btn-sm loadGif" value="update Address" title="" formaction="/updateAddress">

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X