HTML form with multiple “actions”

前端 未结 3 1925
渐次进展
渐次进展 2020-11-27 18:16

I\'m setting up a form wherein I need two \"actions\" (two buttons):

1 - \"Submit this form for approval\"
2 - \"Save this application for later\"

How do

相关标签:
3条回答
  • 2020-11-27 18:41

    the best way (for me) to make it it's the next infrastructure:

    <form method="POST">
    <input type="submit" formaction="default_url_when_press_enter" style="visibility: hidden; display: none;">
    <!-- all your inputs -->
    <input><input><input>
    <!-- all your inputs -->
    <button formaction="action1">Action1</button>
    <button formaction="action2">Action2</button>
    <input type="submit" value="Default Action">
    </form>
    

    with this structure you will send with enter a direction and the infinite possibilities for the rest of buttons.

    0 讨论(0)
  • 2020-11-27 18:41

    this really worked form for I am making a table using thymeleaf and inside the table there is two buttons in one form...thanks man even this thread is old it still helps me alot!

    <th:block th:each="infos : ${infos}">
    <tr>
    <form method="POST">
    <td><input class="admin" type="text" name="firstName" id="firstName" th:value="${infos.firstName}"/></td>
    <td><input class="admin" type="text" name="lastName" id="lastName" th:value="${infos.lastName}"/></td>
    <td><input class="admin" type="email" name="email" id="email" th:value="${infos.email}"/></td>
    <td><input class="admin" type="text" name="passWord" id="passWord" th:value="${infos.passWord}"/></td>
    <td><input class="admin" type="date" name="birthDate" id="birthDate" th:value="${infos.birthDate}"/></td>
    <td>
    <select class="admin" name="gender" id="gender">
    <option><label th:text="${infos.gender}"></label></option>
    <option value="Male">Male</option>
    <option value="Female">Female</option>
    </select>
    </td>
    <td><select class="admin" name="status" id="status">
    <option><label th:text="${infos.status}"></label></option>
    <option value="Yes">Yes</option>
    <option value="No">No</option>
    </select>
    </td>
    <td><select class="admin" name="ustatus" id="ustatus">
    <option><label th:text="${infos.ustatus}"></label></option>
    <option value="Yes">Yes</option>
    <option value="No">No</option>
    </select>
    </td>
    <td><select class="admin" name="type" id="type">
    <option><label th:text="${infos.type}"></label></option>
    <option value="Yes">Yes</option>
    <option value="No">No</option>
    </select></td>
    <td><input class="register" id="mobileNumber" type="text" th:value="${infos.mobileNumber}" name="mobileNumber" onkeypress="return isNumberKey(event)" maxlength="11"/></td>
    <td><input class="table" type="submit" id="submit" name="submit" value="Upd" Style="color: white; background-color:navy; border-color: black;" th:formaction="@{/updates}"/></td>
    <td><input class="table" type="submit" id="submit" name="submit" value="Del" Style="color: white; background-color:navy; border-color: black;" th:formaction="@{/delete}"/></td>
    </form>
    </tr>
    </th:block>

    0 讨论(0)
  • 2020-11-27 19:03

    As @AliK mentioned, this can be done easily by looking at the value of the submit buttons.

    When you submit a form, unset variables will evaluate false. If you set both submit buttons to be part of the same form, you can just check and see which button has been set.

    HTML:

    <form action="handle_user.php" method="POST" />
      <input type="submit" value="Save" name="save" />
      <input type="submit" value="Submit for Approval" name="approve" />
    </form>
    

    PHP

    if($_POST["save"]) {
      //User hit the save button, handle accordingly
    }
    //You can do an else, but I prefer a separate statement
    if($_POST["approve"]) {
      //User hit the Submit for Approval button, handle accordingly
    }
    

    EDIT


    If you'd rather not change your PHP setup, try this: http://pastebin.com/j0GUF7MV
    This is the JavaScript method @AliK was reffering to.

    Related:

    • 2x submit buttons to action different URL
    • Submit form to another page (which is different from the page used in ACTION)
    0 讨论(0)
提交回复
热议问题